检查firefox配置文件并使用Java创建它是否不存在

时间:2016-01-19 08:13:50

标签: java firefox selenium automation

所以我有一个要求,其中一个脚本自动安装一个应用程序,它将触发一个Gradle脚本,然后在该应用程序上构建并执行Selenium测试。

问题是,无法保证运行此系统的系统将具有默认或任何其他可用的Firefox配置文件。虽然我们可以使用以下方式创建配置文件:

FirefoxProfile ffprofile = new FirefoxProfile(new File("D:\\Selenium"));

但是我运行的测试完全相互独立,因此每次都会创建一个新的WebDriver对象。为每个测试创建新的配置文件似乎效率不高。

无论如何,我想做的是检查是否存在firefox配置文件(“默认”)(可以在windows / linux上),如果不是一劳永逸地创建它。 请告知是否可以这样做。

1 个答案:

答案 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

由于