【问题标题】:JMeter does not execute the Javascript found in HTML pages? ConfusedJMeter 不执行 HTML 页面中的 Javascript?使困惑
【发布时间】:2016-01-27 07:44:41
【问题描述】:

JMeter 用户手册说:JMeter 不是浏览器。 JMeter 不执行 HTML 页面中的 Javascript。

我想知道这句话的确切含义。

也许每个网页都包含 javascript。 我举了一个测试单页(比如主页)的例子,和往常一样,这个页面有很多 js、css、图像。 在录制过程中,我录制了所有嵌入的资源。 据我所知,在 jmeter 中运行测试之前,我们有以下三个选项 1.只接受顶级请求(homepage.html)而不选择嵌入式资源复选框 2. 获取顶级请求 (homepage.html) 以及选择嵌入式资源复选框 3. 将顶级请求与所有其他组件一起记录

3 个选项中哪一个是检查页面加载时间的最佳选项(我假设第一个选项,因为它试图复制到浏览器附近)

否则,如果 JMeter 不执行 javascript,我如何获得 js 文件的响应?

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    JMeter 不会执行 JavaScript 也不会渲染页面,但它会下载 .js 文件并记录和重放任何由 JavaScript 驱动的 AJAX 调用。

    所以我建议选择选项 2,但是:

    • 勾选“使用并发池”并提供3-8个区间的线程数
    • 通过“URL 必须匹配”输入过滤“外部”资源
    • 添加 HTTP Cache Manager 以确保每个线程只下载一次嵌入式资源(这是表现良好的浏览器所做的)

    请参阅How to make JMeter behave more like a real browser 文章,了解有关如何使负载测试更真实的其他提示

    【讨论】:

      【解决方案2】:

      您可以使用浏览器自动化工具获得 js 文件的响应,例如 seleniumtestIT Webtester(selenium 的一个分支)

      【讨论】:

        猜你喜欢
        • 2012-03-20
        • 2016-07-15
        • 1970-01-01
        • 2011-07-10
        • 1970-01-01
        • 1970-01-01
        • 2013-05-27
        • 1970-01-01
        • 2016-05-22
        相关资源
        最近更新 更多