我想为每个线程启动带有不同代理的chrome驱动程序。我的设置是:
在JSR223 sampler中,我使用socket.getLocalPort()获取空闲端口。我想将该值传递给Chrome驱动程序。
请帮助我实现这一目标。
答案 0 :(得分:1)
您将无法以Chrome Driver Config方式使用Configuration Element,因为它是Thread Group的实例,而配置元素在之前执行,在{{ 3}}迭代开始。
因此,您的Chrome驱动程序配置将始终在JSR223采样器之前执行。如果您仍想使用真实浏览器执行负载测试,则无法使用为每个线程分别具有单独代理服务器的WebDriver Sampler。选项包括:
在单个线程中使用WebDriver Sampler。根据WebDriver Sampler Tutorial:
注意:此项目的目的不是替换JMeter中包含的HTTP Samplers。相反,它意味着通过测量最终用户加载时间来补充它们。
因此您不应该使用WebDriver Sampler来创建主要负载,而是设计用于在系统负载来自HTTP Request采样器时测量客户端性能。请参阅How to make JMeter behave more like a real browser文章,了解有关微调JMeter测试的更多信息,以便100%切合实际。