【问题标题】:Chrome driver config - How to set Proxy port dynamically?Chrome 驱动程序配置 - 如何动态设置代理端口?
【发布时间】:2018-10-05 23:55:22
【问题描述】:

我想为每个线程使用不同的代理启动 chrome 驱动程序。我的设置是:

  1. 线程组 - 最少 5 个线程
  2. JSR223 采样器 - 设置代理
  3. Chrome 驱动程序配置 - 端口是硬编码的 (8889)
  4. 带有采样器的事务控制器

在 JSR223 采样器中,我使用 socket.getLocalPort() 获取空闲端口。我想将该值传递给 Chrome 驱动程序。

请帮助我实现这一目标。

【问题讨论】:

    标签: jmeter performance-testing jmeter-plugins blazemeter


    【解决方案1】:

    您将无法以这种方式使用Chrome Driver Config,因为它是Configuration Element 的一个实例,并且配置元素在其他任何事情之前执行,即Thread Group 迭代开始。

    因此,您的 Chrome 驱动程序配置将始终在您的 JSR223 采样器之前执行。如果您仍想使用真实浏览器执行负载测试,您将无法使用 WebDriver Sampler,每个线程都有单独的代理服务器。选项位于:

    • 使用单一代理并在您的线程组之外创建它(即在setUp Thread Group 中)
    • 不要使用 WebDriver Sampler,而是使用 JSR223 Sampler 或 JUnit Request Sampler 从头开始​​创建您自己的 WebDriver 实例
    • 在单个线程中使用 WebDriver Sampler。根据 WebDriver Sampler 教程:

      注意:本项目无意替换 JMeter 中包含的 HTTP 采样器。相反,它旨在通过测量最终用户加载时间来赞美它们。

      所以您不应该使用 WebDriver Sampler 来创建主要负载,它旨在在系统处于来自 HTTP Request 采样器的负载下测量客户端性能。请参阅How to make JMeter behave more like a real browser 文章了解更多关于微调 JMeter 测试以使其 100% 真实的信息。

    【讨论】:

      猜你喜欢
      • 2015-05-23
      • 1970-01-01
      • 2019-09-22
      • 2019-07-21
      • 1970-01-01
      • 2014-10-03
      • 2011-01-16
      • 2015-06-29
      • 1970-01-01
      相关资源
      最近更新 更多