我有一个需要针对IE,CEFmp和Chrome运行的测试。要求如下:
我能够根据文件中提到的值选择特定的浏览器类型并针对它运行测试,并为Chrome和CEFmp浏览器类型设置direct connect to true。 但是,我无法找到让测试选择特定Chrome驱动程序的解决方案。现在它选择node_modules / protractor / selenium中给出的默认驱动程序并使用它运行测试。我想知道是否有办法动态选择特定路径中的驱动程序?
提前谢谢。
答案 0 :(得分:0)
我想你应该:
然后,在您的代码中:
File chromeDriverFile = new File("webdrivers/" + webdriverAsRetrievedInYourTextFile); // you define the path here
System.setProperty("webdriver.chrome.driver", chromeDriverFile.getAbsolutePath());
WebDriver driver = new ChromeDriver();
答案 1 :(得分:0)
我似乎找到了解决此问题的kind-of
解决方案。如果有更好的方法,请告诉我。
由于我无法找到将路径重定向到驱动程序以从本地文件夹中选择它的方法,因此我们解决它的一种方法是通过复制并将默认位置驱动程序(node_module)替换为本地驱动程序(我们想要使用的一个)
var fs = require('fs');
fs.createReadStream(path.resolve(__dirname + '/bin/Drivers/CefMp/chromedriver.exe')).pipe(fs.createWriteStream(path.resolve('C:/node_modules/protractor/selenium/chromedriver.exe')));
因此,即使protractor
从node_modules
文件夹中选择默认驱动程序,它最终也会使用我们希望它使用的驱动程序。