J. *_*Doe 5 java selenium-webdriver
在我的硒测试中,我有硬编码的 ChromeDriver 路径
System.setProperty("webdriver.chrome.driver", "C:\\Users\\kday\\Desktop\\Selenium Stuff\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)
但是,这意味着当我将程序导出为可运行的 jar 文件时,该测试将不起作用,因为它找不到硬编码路径(如果它在另一台计算机上)。有什么办法可以做到吗?
a.) - ChromeDriver 是 jar 的一部分并与它一起运行
b.) - 我可以在代码中初始化它,而无需像那样对值进行硬编码
大多数情况下,我希望通过运行 jar 来运行所有测试(在 IE、Chrome、FF 中)。
解决方案是将 .exe 包含在您的 jar 中(不要忘记将其包含在构建路径中)。然后,在您的应用程序中,您可以使用 .jar 从 jar 中读取 .exe 的内容getResourceAsStream("path_to_your_exe_file")
。
然后在临时目录中创建 exe 文件的副本。请参阅 Apache 公共 IO。使用FileUtils.copy(in, out)
。
然后你可以使用旧的方式引用你的exe文件System.setProperty("webdriver.chrome.driver",C:\\Users\\kday\\Desktop\\Selenium Stuff\\chromedriver.exe");
归档时间: |
|
查看次数: |
12429 次 |
最近记录: |