我们可以在 jmeter 中解析响应吗?
Can we parse response in jmeter
我是jmeter的新手,我陷入了困境。虽然场景很简单,但就像我对 Jmeter 说的新手。我必须申请一个网页。作为响应,我将收到一个包含java脚本代码的HTML文件。我已经确认了该javascript代码中存在的一些字符串我知道我可以在 seleium 网络驱动程序的帮助下做到这一点,到目前为止我已经做到了,但我需要多次运行此测试。就JMeter而言,它会丢弃响应中存在的任何scrip。所以请帮助我
JMeter 不会运行 Javascript。这并不意味着它会忽略它。
将响应断言添加到 HTTP 请求采样器(右键单击它,添加 -> 断言 -> 响应断言)。这将允许您添加字符串并断言该字符串存在于响应中(注意:与C++不同,此处的断言不会停止您的测试,它只会使该采样器成为错误)。
要使用响应断言,请将单选按钮切换到Contains
,然后单击底部中心的Add
。在中间显示的新框中,添加"该 javascript 代码中存在的一些字符串"。
首先,在您的HTTP请求采样器中,您应该选择一个选项"检索所有嵌入的资源",在此jmeter之后,jmeter将检索所有资源,如css,js,图形等。
另外,您可能还想看看 http://jmeter-plugins.org/
这个库包含一些非常酷的插件,用于jmeter测试。您应该寻找某种后处理器并将其添加到测试脚本中。这些可用于从检索的数据中提取某些特定资源。
另外,一个不相关的建议,因为您是新手,不要将许多/任何侦听器添加到您的 jmeter 测试计划中。
来自 JMeter 项目主页
JMeter 不是浏览器
JMeter不是浏览器。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或者更确切地说,多个浏览器);但是,JMeter 不会执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不会像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但计时不包含在任何示例中,并且一次只能查看一个线程中的一个示例)。
JMeter在协议级别上起作用,你的JavaScript正在做一些本地的事情 - 你可以使用JSR223测试元素复制逻辑
如果使用 JavaScript 发送请求 - 您可以使用 JMeter 模拟请求,JMeter 不执行 JavaScript,但它能够使用 HTTP(S) 测试脚本记录器和 HTTP 请求采样器记录和重放 JavaScript 驱动的请求
。如果您尝试加载基于 AJAX 的应用程序,并且您需要模拟来自真实浏览器的请求(即异步,一次通过打开页面触发多个请求等) - 您将需要做一些额外的工作,因为 JMeter 不提供任何测试元素来跳过在线程组级别定义的已定义虚拟用户。有几种使用 JMeter 测试 AJAX 应用程序的方法,有关详细信息,请参阅如何使用 JMeter 加载测试启用 AJAX/XHR 的站点指南。
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 使用angularjs向浏览器发送servlet响应(下载功能)
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 不再使用innerHTML进行AJAX响应.(代码未得到响应)
- 为什么可以't我使用了AJAX响应的一部分
- 响应动画手风琴不工作
- 如何从SeleniumWebdriver获取异步Javascript响应
- Ajax调用在Firefox中不会自动响应
- 可以在响应时隐藏iphone上的“播放”按钮以进行视频播放
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 如何在 JavaScript 和 HTML 中更改对输入框的提示响应
- IIS动态HTTP响应标头
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- Ajax响应转换
- 使Intro.js工具提示响应
- 将多个JSON响应与JMeter进行比较
- 我们可以在 jmeter 中解析响应吗?
- JMeter BSF采样器响应
- Bean shell脚本检查响应A或B是否存在于jmeter中的响应文本中