我已经使用 Selenium 实现了自动化 CEF 应用程序。现在我需要使用 Jemeter 添加同一应用程序的性能测试,如何做同样的事情。请在下面找到 Selenium 的驱动程序选项
ChromeOptions options = new ChromeOptions();
options.setBinary("C:/Apps/DAM/DAM.exe");
options.addArguments("--remote-allow-origins=*");
System.setProperty("webdriver.chrome.driver", driverPath);
driver = new ChromeDriver(options);
我没有找到任何有关 CEF 与 JMeter 集成的信息。我发现了这样的东西
打开 JMeter 并转到 测试计划。
右键单击测试计划,然后选择添加 → 非测试元素 → HTTP(S) 测试脚本记录器。
这会在 JMeter 中创建一个代理服务器来捕获流量。
在HTTP(S)测试脚本记录器配置中:
将 Port 设置为
8888
(或任何可用端口)。
在目标控制器中,选择记录请求的保存位置,例如线程组。
设置Capture HTTP Headers复选框以记录标头。
暂时将其他设置保留为默认值。
CEF应用程序需要使用JMeter的代理来通过它发送HTTP流量。您可以按照以下方式进行配置:
修改 CEF 的代理设置:根据 CEF 应用程序的设计方式,它可能有配置文件或命令行选项来设置代理。
将代理服务器设置为指向
localhost:8888
(或您配置 JMeter 侦听的任何端口)。
确保应用程序通过 JMeter 发送所有 HTTP(S) 流量。
如果您不确定如何为 CEF 应用程序设置代理,请咨询开发人员或参阅 CEF 文档。
您在错误的位置设置了代理,如果您想将 Selenium 脚本转换为 JMeter 测试计划,您应该 为 Selenium WebDriver 设置代理,例如:
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy()
proxy.setHttpProxy("localhost:8888")
proxy.setSslProxy("localhost:8888")
ChromeOptions options = new ChromeOptions();
options.setBinary("C:/Apps/DAM/DAM.exe");
options.setProxy(proxy)
options.addArguments("--remote-allow-origins=*");
System.setProperty("webdriver.chrome.driver", driverPath);
driver = new ChromeDriver(options);
另一个(更简单的)选项可以使用 Taurus 框架的 Proxy2JMX Converter 工具