请保护ChromeDriver和相关测试框架使用的端口,以防止恶意代码访问

时间:2019-03-08 19:19:55

标签: jmeter jmeter-plugins jmeter-maven-plugin

我正在尝试在远程计算机(macOS sierraO)上运行Jmeter测试。 我配置了jp@gc - Chrome Driver Config,并且可以连接到从机。但是,每当我尝试运行它时,我都会得到

Starting ChromeDriver 73.0.3683.20 (XXXXXXX) on port XXXX
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Mar 08, 2019 12:12:35 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Using local port: XXXXXX
2019-03-08 13:04:39.171 java[10402:23852395] IMKInputSession [0x7f8bcbaaf740 presentFunctionRowItemTextInputViewWithEndpoint:completionHandler:] : [self textInputContext]=0x7f8bcbb578f0 *NO* NSRemoteViewController to client, NSError=Error Domain=NSCocoaErrorDomain Code=4099 "The connection from pid 0 was invalidated from this process." UserInfo={NSDebugDescription=The connection from pid 0 was invalidated from this process.}, com.apple.inputmethod.EmojiFunctionRowItem

我知道这与security consideration有关,但是我找不到解决用例的方法。

我的用例是: 我正在使用以下方法运行jmeter测试:

  1. 直接从Jmeter 5.1运行远程服务器
  2. 使用java-maven-plguin项目运行。

任何对如何配置chromeDriver在远程服务器上运行的想法都将不胜感激。

3 个答案:

答案 0 :(得分:4)

我无法直接从chromedriverp@gc - Chrome Driver Config传递任何参数,我的配置如下:

chromedriver config

我的chromedriver.dirchromedirver.dir=vu.chromedriver.dir=/path/to/chromedriver的地方 但是,我可以通过添加以下方法来解决它:

  1. workaround.sh for macOS

    #!/usr/bin/env bash /path/to/chromedriver --whitelist-ip $*

  2. workaround.bat(适用于Windows)

    \\src\\path\\to\\chromedriver.exe --whitelist-ip %*

这解决了我使chromedriver接受远程连接的问题。

答案 1 :(得分:1)

租赁保护ChromeDriver和相关测试框架使用的端口,以防止恶意代码访问。

解决方案: 获取您的Chrome浏览器版本,然后下载特定于该版本的ChromeDriver。

打开您的Chrome浏览器>单击3个垂直点(右上角)>帮助>关于Google Chrome

验证Chrome版本(例如73或674或其他..)

转到Selenium浏览器驱动程序下载门户并下载该版本的Chrome驱动程序

https://sites.google.com/a/chromium.org/chromedriver/downloads

答案 2 :(得分:0)

我有同样的问题。我通过更改为Chromedriver版本80.0.3987.106

进行了修复