我有基于电子的应用程序需要自动化,但启动 exe 需要传递参数,使用 spectron 或 selenium 进行自动化时如何传递参数?
这是启动 Electron 的 cmd:
Electron.exe --manifest https://hostname/quantum/configs/openfin/manfest-uat.json
我有基于电子的应用程序需要自动化,但启动 exe 需要传递参数,使用 spectron 或 selenium 进行自动化时如何传递参数?
这是启动 Electron 的 cmd:
Electron.exe --manifest https://hostname/quantum/configs/openfin/manfest-uat.json
我的代码
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 文件不存在
您可以定义您的电子应用程序,并且可以在初始化时发送参数,如下所示:
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);