【问题标题】:Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code请保护ChromeDriver及相关测试框架使用的端口,防止恶意代码访问
【发布时间】:2019-03-08 19:19:54
【问题描述】:

我正在尝试在远程机器 (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-plugin 项目运行。

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

    • 对于分布式测试,并且启动 webdriver 的 chrome 它将不起作用。
    • 我遇到了同样的错误,并通过将我的 ChromeDriver 版本与已安装的 Chrome 版本同步来修复,不确定是否是同样的问题,但值得一试
    【解决方案2】:

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

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

    1. workaround.sh 用于 macOS

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

    2. workaround.bat 用于 Windows

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

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

    【讨论】:

    • 你在哪里添加了“workoaround.sh”文件?我正在尝试做同样的事情,但我不知道将 sh 文件放在哪里来执行它。提前谢谢你。
    • 没关系,只要确保新的${chromedriver.dir} = /path/to/workaround.sh。您可以将其添加到脚本目录中。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2019-08-21
      • 1970-01-01
      • 2019-02-01
      • 2019-08-21
      • 1970-01-01
      • 2020-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多