JIAMTER在jMeter对SPA的回应

时间:2017-12-26 15:01:24

标签: jmeter

我正在使用针对移动应用的API测试进行自动化。 应用程序上有3个不同的主屏幕。 工作流 - 1)登录 - 发送登录API请求&作为响应获取在进一步请求中使用的访问令牌。 2)Screen1-在screen1&amp ;;上发送API请求。得到回应 - 成功 3)Screen2-screen API请求在screen2&但它没有用。它发送3-4个.js(javascripts)文件作为回应。 Screen2是单页面应用程序。 Jmeter不会从响应中执行那些js,因此没有看到任何内容。

我被阻止在这里&不能继续。任何指针......赞赏。

1 个答案:

答案 0 :(得分:0)

  1. 首先检查JMeter是否配置为下载嵌入资源。你可以在" Advanced" HTTP Request采样器的标签(或更好的HTTP Request Defaults

    JMeter HTTP Request Defaults

    如果取消选中此框,JMeter将仅返回主要内容,但不会处理任何所谓的"嵌入式资源":图像,字体,脚本,引用的样式网页。

  2. 根据JMeter project main page

      

    JMeter不是浏览器,它在协议级别工作。就Web服务和远程服务而言,JMeter看起来像浏览器(或者更确切地说,是多个浏览器);但是JMeter不会执行浏览器支持的所有操作。特别是, JMeter不会执行HTML页面中的Javascript 。它也不像浏览器那样呈现HTML页面

    因此,如果响应中的某个地方有一个JavaScript触发AJAX请求,该请求会返回您的" js"文件 - JMeter不会自动执行它,您需要添加一个单独的HTTP请求采样器来模仿AJAX调用

  3. 没有任何负载测试工具能够执行JavaScript,因此如果您正在寻找一个 - 您需要考虑真正的浏览器。例如,通过Selenium查看JMeter与WebDriver Sampler的集成,但要注意这种方法非常耗费资源。