Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code

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:

  1. Run remote server directly from Jmeter 5.1
  2. Run using java-maven-plugin project.

Any thoughts how to configure chromeDriver to run on remote server would be appreciated.

like image 417
Awad Avatar asked Mar 08 '19 19:03

Awad


2 Answers

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

like image 174
Sujit Avatar answered Nov 06 '22 23:11

Sujit


I could not pass any parameters to chromedriver from p@gc - Chrome Driver Config directly, my config looks like:

chromedriver config

where my chromedriver.dir was chromedirver.dir=vu.chromedriver.dir=/path/to/chromedriver However, I was able to work around it by adding:

  1. workaround.sh for macOS

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

  2. workaround.bat for Windows

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

And that solved my issue for making chromedriver to accept remote connections.

like image 29
Awad Avatar answered Nov 06 '22 23:11

Awad