0

我有基于电子的应用程序需要自动化,但启动 exe 需要传递参数,使用 spectron 或 selenium 进行自动化时如何传递参数?

这是启动 Electron 的 cmd:

Electron.exe --manifest  https://hostname/quantum/configs/openfin/manfest-uat.json
4

2 回答 2

0

我的代码

System.setProperty("webdriver.chrome.driver", "drivers/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.setBinary("C:\\xxx\\xx\\lf2v0\\UAT1\\e2o\\Electron.exe");
options.addArguments("--app=" + "C:\\xx\\xx\\lf2v0\\UAT1\\e2o");
options.addArguments("--manifest=" + "https://xxx/quantum/configs/openfin/manifest-uat.json");
options.setCapability("chromeOptions", options);
ChromeDriver driver = new ChromeDriver(options);
Thread.sleep(5000);
Set<String> windowHandles = driver.getWindowHandles();

这是错误 org.openqa.selenium.WebDriverException:未知错误:DevToolsActivePort 文件不存在

于 2020-01-03T02:14:31.463 回答
0

您可以定义您的电子应用程序,并且可以在初始化时发送参数,如下所示:

argPath= 您的应用程序可执行文件的路径

binaryPath=电子二进制的路径

   System.setProperty("webdriver.chrome.driver", "ChromeDriverPath");
    ChromeOptions options = new ChromeOptions();
    options.setBinary(binaryPath);
    options.addArguments("--app=" + argPath);
    options.addArguments("--manifest=" + "https://hostname/quantum/configs/openfin/manfest-uat.json");
    options.setCapability("chromeOptions", options);
    options.setCapability("browserName", "chrome");

    driver = new ChromeDriver(options);
于 2020-01-02T11:18:17.663 回答