我无法在Selenium Webdriver 3中为Firefox设置默认配置文件,因为FirefoxDriver该类中没有此类构造函数。
FirefoxDriver
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.ProfilesIni; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class SeleniumStartTest { @Test public void seleniumFirefox() { System.setProperty("webdriver.gecko.driver", "C:\\Users\\FirefoxDriver\\geckodriver.exe"); ProfilesIni profileIni = new ProfilesIni(); FirefoxProfile profile = profileIni.getProfile("default"); WebDriver driver = new FirefoxDriver(profile); driver.get("http://www.google.com"); } }
Java代码中的编译错误: Java代码
Maven pom.xml依赖项: Selenium 3.14.0
pom.xml
Firefox版本: Firefox版本62.0.2
当您按照FirefoxDriver类使用 Selenium 3.14.0时 ,有效的构造函数为:
FirefoxDriver()
FirefoxDriver(FirefoxOptions options)
FirefoxDriver(GeckoDriverService service)
FirefoxDriver(GeckoDriverService service, FirefoxOptions options)
FirefoxDriver(XpiDriverService service)
FirefoxDriver(XpiDriverService service, FirefoxOptions options)
因此,按照您的代码尝试,以下不是调用的有效选项 FirefoxDriver()
WebDriver driver = new FirefoxDriver(profile);
要FirefoxDriver()使用 默认配置文件进行 调用,您需要使用setProfile(profile)方法通过的实例设置 FirefoxProfile ,FirefoxOptions()并且可以使用以下代码块:
setProfile(profile)
FirefoxOptions()
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.firefox.FirefoxProfile; import org.openqa.selenium.firefox.ProfilesIni; import org.testng.annotations.Test; public class A_FirefoxProfile { @Test public void seleniumFirefox() { System.setProperty("webdriver.gecko.driver", "C:/Utility/BrowserDrivers/geckodriver.exe"); ProfilesIni profileIni = new ProfilesIni(); FirefoxProfile profile = profileIni.getProfile("default"); FirefoxOptions options = new FirefoxOptions(); options.setProfile(profile); WebDriver driver = new FirefoxDriver(options); driver.get("http://www.google.com"); System.out.println(driver.getTitle()); } }
[RemoteTestNG] detected TestNG version 6.14.2 1537775040906 geckodriver INFO geckodriver 0.20.1 1537775040923 geckodriver INFO Listening on 127.0.0.1:28133 Sep 24, 2018 1:14:30 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: W3C Google PASSED: seleniumFirefox =============================================== Default test Tests run: 1, Failures: 0, Skips: 0 =============================================== =============================================== Default suite Total tests run: 1, Failures: 0, Skips: 0 ===============================================