所以我有一个要求,其中一个脚本自动安装一个应用程序,它将触发一个Gradle脚本,然后在该应用程序上构建并执行Selenium测试。
问题是,无法保证运行此系统的系统将具有默认或任何其他可用的Firefox配置文件。虽然我们可以使用以下方式创建配置文件:
FirefoxProfile ffprofile = new FirefoxProfile(new File("D:\\Selenium"));
但是我运行的测试完全相互独立,因此每次都会创建一个新的WebDriver对象。为每个测试创建新的配置文件似乎效率不高。
无论如何,我想做的是检查是否存在firefox配置文件(“默认”)(可以在windows / linux上),如果不是一劳永逸地创建它。 请告知是否可以这样做。
答案 0 :(得分:1)
如果根据要求不需要任何特定的配置文件,那么我们可以立即启动firefox ..
WebDriver driver=new FirefoxDriver();
如果需要任何特定的配置文件,最好选择名称而不是此目录。根据文档不建议从目录收集配置文件。
ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("selenium");
WebDriver driver = new FirefoxDriver(profile);
请按此link创建个人资料并将其用于所有测试。即使指定了名为" selenium"配置文件不存在,仍然通过webdriver自己创建新的配置文件开始执行。
自动创建个人资料,
//changing firefox default options
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList",2); //dont take default download folder
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);//dont show download box
firefoxProfile.setPreference("browser.download.dir","c:\\downloads");//provide download location
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv"); //dont ask save as for provided types
由于