问题
I am trying to run a Jmeter test on remote machine ( macOS sierraO).
I configured jp@gc - Chrome Driver Config
and I can connect to the slave machine. However, whenever I try to run it I get
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
I know this is related to the security consideration, but I couldn't find a way to solve for my use case.
My use case is: I am running jmeter test using:
- Run remote server directly from Jmeter 5.1
- Run using java-maven-plguin project.
Any thoughts how to configure chromeDriver to run on remote server would be appreciated.
回答1:
lease protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Solution: Get your Chrome Browser version and download the ChromeDriver for specific to that version.
Open your Chrome browser > Click on 3 vertical dots (top right corner) > Help > About Google Chrome
Verify the Chrome Version (such as 73 or 74 or other ..)
goto Selenium browser driver download portal and download the Chrome Driver of that version
https://sites.google.com/a/chromium.org/chromedriver/downloads
回答2:
I could not pass any parameters to chromedriver
from p@gc - Chrome Driver Config
directly, my config looks like:
where my chromedriver.dir
was chromedirver.dir=vu.chromedriver.dir=/path/to/chromedriver
However, I was able to work around it by adding:
workaround.sh
for macOS#!/usr/bin/env bash /path/to/chromedriver --whitelist-ip $*
workaround.bat
for Windows\\src\\path\\to\\chromedriver.exe --whitelist-ip %*
And that solved my issue for making chromedriver to accept remote connections.
来源:https://stackoverflow.com/questions/55069656/please-protect-ports-used-by-chromedriver-and-related-test-frameworks-to-prevent