【问题标题】:Apache Jmeter - Selenium test with Firefox headless modeApache Jmeter - 使用 Firefox 无头模式进行 Selenium 测试
【发布时间】:2020-06-02 11:34:38
【问题描述】:

我想使用 Firefox Driver Config 在 Apache Jmeter 中运行我的测试脚本,但我无法设置无头模式和 setAcceptInsecureCerts(true)。

我使用 CLI 中的以下命令执行 Jmeter:

jmeter -Dwebdriver.gecko.driver="c:\DEVTOOLS\PERFORMANCE_TEST\FIREFOX_GECKO_DRIVER\geckodriver.exe"

很遗憾,测试目标站点目前没有使用有效或安全的认证, 所以我需要设置以某种方式接受不安全的证书。

这是我的代码 sn-p:

var pkg = JavaImporter(org.openqa.selenium, org.openqa.selenium.support.ui,org.openqa.selenium.firefox.FirefoxOptions)

var wait = new pkg.WebDriverWait(WDS.browser, 20)

pkg.FirefoxOptions.setAcceptInsecureCerts(true)
**I got the following error:**
2020-06-02 13:27:59,024 ERROR c.g.j.p.w.s.WebDriverSampler: TypeError: pkg.FirefoxOptions.setAcceptInsecureCerts is not a function in <eval> at line number 4

我不知道如何添加无头参数和 AcceptInsecureCerts(true) 到 Jmeter 代码。

感谢您的帮助!

【问题讨论】:

    标签: selenium jmeter headless selenium-firefoxdriver


    【解决方案1】:

    很遗憾,这不是您可以使用 WebDriver Sampler 控制的,选项位于:

    1. 修补 FirefoxDriver 初始化发生的 FirefoxDriverConfig.java 代码,并将 JMeter 安装的“lib/ext”文件夹下的 WebDriver Sampler 插件替换为您自己的版本
    2. 切换到JSR223 Sampler,您可以在其中使用所需的任何功能/首选项/命令行参数来实例化您自己的 FirefoxDriver

    3. 如果您不能或不愿意选择上述选项,您可以使用 Firefox Driver Config 元素设置 acceptInsecureCerts 首选项:

      如果您的系统没有 GUI,您可以使用 Xvfb 作为虚拟显示器,就像在 Headless Execution of Selenium Tests in Jenkins 文章中描述的那样

    【讨论】:

    • 感谢您宝贵的cmets。最后我使用了 PhantomJs Driver 及其配置,因为它提供了 --web.security=false, --ignore-ssl-errors=true 选项来解决这个问题。您提到的第 1、2 点我没有尝试过,但我认为它们可能会解决配置问题。
    猜你喜欢
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 2018-03-16
    相关资源
    最近更新 更多