【问题标题】:Start Electron application with Selenium WebDriver using command line arguments使用命令行参数使用 Selenium WebDriver 启动 Electron 应用程序
【发布时间】:2016-09-03 16:35:17
【问题描述】:

我有一个 Electron 应用程序 (chat.exe) 并使用以下代码 sn-p 我可以使用 Chromedriver 启动它:

ChromeOptions options = new ChromeOptions();
options.setBinary(System.getenv("CHAT")); // CHAT = path to Chat.exe
driver = new ChromeDriver(options);

我的问题是:如何使用命令行参数启动它?

例如chat.exe -- --electronPort 5000 --webpackPort 3000 --accessToken 123456789

我尝试了以下方法但没有成功:

ChromeOptions options = new ChromeOptions();
options.setBinary(System.getenv("CHAT")); // CHAT = path to Chat.exe
options.addArguments("-- --electronPort 5000 --webpackPort 3000 --accessToken 123456789");
driver = new ChromeDriver(options);

显示如下错误:

org.openqa.selenium.WebDriverException: chrome not reachable

【问题讨论】:

    标签: java selenium selenium-webdriver selenium-chromedriver electron


    【解决方案1】:

    以下格式有效(如@user861594 指定):

    options.addArguments("<Key>=<value>");
    

    但是,问题是 chromedriver 不能接受 camelCase 格式的参数。在开发人员将 cli args 的语法从 camelCase 修改为连字符后,上述解决方案奏效了。

    例如

    options.addArguments("electron-port=5000");
    options.addArguments("webpack-port=3000");
    options.addArguments("access-token=12345‌​6789");
    

    【讨论】:

      【解决方案2】:
      ChromeOptions options = new ChromeOptions();
      options.setBinary("/path/to/other/chrome/binary");
      

      在非标准位置设置 Chrome 可执行文件,而不是设置除 chrome 之外的任何其他可执行文件。因为您提供的不是 chrome 二进制文件(在您的情况下为 CHAT.exe)驱动程序打开 CHAT 而不是 chrome 浏览器并抱怨 chrome 无法访问。

      Webdriver 仅用于自动化 Web 应用程序,而不用于独立应用程序自动化。为此,您可以使用“AutoIt”等其他工具。

      【讨论】:

      • Selenium Webdriver 也可用于自动化桌面应用程序,这些应用程序是使用 Web 技术(例如 Electron)创建的,并且我有很多场景正在运行。
      • > 为了在 Electron 中使用 chromedriver,你必须告诉它在哪里可以找到 Electron 并让它认为 Electron 是 Chrome 浏览器。
      • 在这种情况下,您的问题似乎是将参数传递给响应为 chrome 的应用程序。传递参数的语法是 options.addArguments("=");因此,您应该尝试设置每个选项,例如 options.addArguments("electronPort=5000"); options.addArguments("webpackPort=3000");options.addArguments("accessToken=123456789");
      • 感谢您的评论。我也尝试过这种方法,但仍然无法正常工作。
      猜你喜欢
      • 2013-04-25
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 2017-03-08
      相关资源
      最近更新 更多