在jmeter中测试自动完成

时间:2017-04-25 15:01:01

标签: jmeter

我有一个搜索表单,当输入2个字符时会打开一个列表。我想测量用jmeter打开和加载列表所需的时间。我该怎么办?

2 个答案:

答案 0 :(得分:2)

如果你研究一下你的网络"您最喜欢的浏览器开发人员工具的选项卡,您会看到每次在搜索字段中键入字母或数字时,浏览器都会向后端服务器发送HTTP请求,并以搜索建议进行响应:

JMeter Google Search Suggestions

所以你需要做的就是使用JMeter模拟这些请求并测量响应时间。

您甚至可以使用HTTP(S) Test Script RecorderBadboyJMeter Chrome Extension记录这些请求,无论

JMeter HTTPS Test Script Recorder Autocomplete

答案 1 :(得分:-2)

我想引用两件事:

JMeter不是浏览器

  

JMeter is not a browser,它在协议级别工作。据,直到...为止   对于Web服务和远程服务而言,JMeter看起来像是一个   浏览器(或更确切地说,多个浏览器);但JMeter没有   执行浏览器支持的所有操作。尤其是JMeter   不执行HTML页面中的Javascript。也不是   像浏览器一样呈现HTML页面(可以查看   响应为HTML等,但时间不包含在任何内容中   样本,并且在一个线程中只显示一个样本   时间)。

From JMeter Wiki

  

JMeter不会处理嵌入在HTML网页中的Javascript 或小程序。

     

JMeter可以下载相关资源(一些嵌入式资源   如果设置了正确的选项,则自动下载),但它   不处理HTML并执行任何Javascript函数。

     

如果网页使用Javascript构建网址或提交表单,则表示您   可以使用代理记录工具来创建必要的采样器。   如果这不可能,则可以手动检查代码   需要确定Javascript正在做什么。

解决方案#1

每当您键入每个字符时,请检查对服务器的任何服务调用。这可以使用浏览器开发者工具>捕获。网络标签。

E.g。

如果您键入iPhone,则会有六次服务器调用。通过单独测量每个调用,您将能够理解应用程序在负载下的行为。

同样,这是一个服务调用,而不是UI呈现。

https://example.com?q=i

https://example.com?q=iP

https://example.com?q=iPh

https://example.com?q=iPho

https://example.com?q=iPhon

https://example.com?q=iPhone

解决方案#2

通过在 JMeter测试计划中利用 Selenium WebDriver ,您可以衡量端到端的响应时间。

有关详细信息,请参阅此Blazemeter articlethis blog

访问JMeter Plugins website并搜索 Selenium 以阅读有关Selenium WebDriver的更多详细信息。