有办法在Java环境中使用cucumber和selenium-webdriver为电子应用程序创建自动化场景吗?
我在Node.js上找到了一些electron.atom.io解决方案,但我更喜欢electron.atom.io。
谢谢。
发布于 2016-02-19 16:17:06
您可以在ChromeDriver中使用电子浏览器。尝试使用类似的设置创建WebDriver:
// If chromediver executable is not in your project directory,
// point to it with this system variable
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("binary", "path/to/electron/binary");
chromeOptions.put("args", Arrays.asList(" path-to-electron-app"));
//eg.: chromeOptions.put("binary", "D:\\electron-quick-start\\node_modules\\electron-prebuilt\\dist\\electron.exe");
// chromeOptions.put("args", Arrays.asList(" D:\\electron-quick-start"));
// for some reason the app arg needs to follow a space on my Windows machine
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("chromeOptions", chromeOptions);
capabilities.setBrowserName("chrome");
WebDriver driver = new ChromeDriver(capabilities);在这里,path-to-electron-app是存储应用程序源(main.js)的目录,电子二进制文件是从构建过程中下载的依赖项中提取的。
或者,如果您想使用预编译的应用程序--它本身成为电子二进制文件,则可以使用以下方法:
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
Map<String, Object> chromeOptions = new HashMap<>();
chromeOptions.put("binary", "D:\\my-electron-app.exe");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("chromeOptions", chromeOptions);
capabilities.setBrowserName("chrome");
WebDriver driver = new ChromeDriver(capabilities);https://stackoverflow.com/questions/35507295
复制相似问题