ToB企服应用市场:ToB评测及商务社交产业平台

标题: 浅谈断言之HTML断言 [打印本页]

作者: 拉不拉稀肚拉稀    时间: 2024-7-24 14:06
标题: 浅谈断言之HTML断言
浅谈断言之HTML断言

JMeter的HTML断言是一种用于验证响应数据是否包含预期HTML内容的功能。它通过比较响应中的HTML代码与用户定义的规则来判定请求是否成功。这对于确保Web应用返回的页面内容符合预期非常有用,尤其是在主动化测试和性能测试场景下。下面是一份关于如安在JMeter中配置和利用HTML断言的具体指南。
什么是HTML断言?

HTML断言是JMeter提供的一种断言类型,重要用于验证服务器响应中是否包含特定的HTML标签或文本内容。通过精确匹配或模式匹配的方式,它可以查抄响应数据是否符合预期的HTML结构或内容,从而判定请求是否成功执行。
何时利用HTML断言?

● 验证页面元素:当你需要确认网页上某个元素(如特定的文本、图片、链接等)是否存在时。
● 查抄页面结构:适用于需要验证页面的HTML结构是否正确,比如某个div标签是否被正确渲染。
● 功能回归测试:确保在进行软件更新或修改后,关键的HTML内容没有被意外更改或删除。
如何添加HTML断言?

应用实例

起首我们利用SpringBoot框架编写一段测试代码接口
  1. //html
  2. @GetMapping(value = "/html",produces = "application/html")
  3.     public String Returnhtml() {
  4.         return "<!DOCTYPE html>\n" +
  5.                 "<html lang="en">\n" +
  6.                 "<head>\n" +
  7.                 "    <meta charset="UTF-8">\n" +
  8.                 "    <title>简单表单提交界面</title>\n" +
  9.                 "</head>\n" +
  10.                 "<body>\n" +
  11.                 "    <h1>欢迎来到我们的简易表单</h1>\n" +
  12.                 "    <form action="/submit_form" method="post">\n" +
  13.                 "        <label for="name">姓名:</label>\n" +
  14.                 "        <input type="text" id="name" name="name"><br><br>\n" +
  15.                 "        <label for="email">电子邮件:</label>\n" +
  16.                 "        <input type="email" id="email" name="email"><br><br>\n" +
  17.                 "        <label for="message">消息:</label>\n" +
  18.                 "        <textarea id="message" name="message"></textarea><br><br>\n" +
  19.                 "        <input type="submit" value="提交">\n" +
  20.                 "    </form>\n" +
  21.                 "</body>\n" +
  22.                 "</html>";
  23.     }
复制代码
我们编写如下脚本:

线程组:保持默认
HTTP信息头管理器:名称设置为accept,值为application/html
HTTP请求:协议设置为http,服务器名称或IP设置为127.0.0.1,端口设置为8091,方法设置为GET,路径设置为/html,内容编码为utf-8
HTML断言:Doctype设置为auto,Format选择auto,勾选Errors only,Error threshold为0,将JTidy陈诉写入文件,路径设置为:C:\Users\XXXX\Desktop\test.txt
运行结果,检察结果树中是否成功,http请求断言成功,不显示断言的结果

但是打开生存的路径中的内容信息可以得到如下陈诉
   line 4 column 5 - Warning: lacks “content” attribute
InputStream: Doctype given is “”
InputStream: Document content looks like HTML 4.01 Transitional
1 warning, no errors were found!
  注意事项

● 性能影响:利用HTML断言会增加每个采样的处理时间,特别是在利用复杂正则表达式时。因此,在大规模性能测试中应谨慎利用。
● 精确性与机动性:正则表达式的利用可以提高匹配的机动性,但同时也要求更高的编写精确度,避免误报或漏报。
● 响应编码:确保考虑响应的字符编码,特别是当断言涉及到非ASCII字符时,大概需要调整JMeter的编码设置以正确处理响应数据。
总结

通过合理配置和运用HTML断言,你可以有效地验证Web应用的响应内容,确保其按照预期工作,提升测试的准确性和效率。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4