【发布时间】:2015-02-21 02:18:03
【问题描述】:
我正在研究如何使用 RemoteWebDriver 设置个人配置文件。我一直在以下线程上阅读它。
http://stackoverflow.com/questions/12961037/parallel-execution-of-firefoxdriver-tests-with-profile-share-same-profile-copy
我正在尝试按以下方式解决它:
public static RemoteWebDriver getDriver(String methodName) throws MalformedURLException {
String SELENIUM_HUB_URL = "http://localhost:4444/wd/hub";
ThreadLocal<RemoteWebDriver> remoteWebDriver = null;
File currentProfileFile = new File(methodName);
//This is where it gives the error
FirefoxProfile currentFireFoxProfile = new FirefoxProfile(currentProfileFile);
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabilities.setCapability(FirefoxDriver.PROFILE, currentFireFoxProfile);
String proxy = System.getProperty("proxy");
try {
remoteWebDriver = new ThreadLocal<RemoteWebDriver>();
remoteWebDriver.set(new RemoteWebDriver(new URL(SELENIUM_HUB_URL),
capabilities));
} catch (MalformedURLException e) {
System.out.println("Please fix the RemoteDriverSetup.class");
}
remoteWebDriver.get().manage().window()
.setSize(new Dimension(2880, 1524));
remoteWebDriver.get().manage().timeouts()
.pageLoadTimeout(10, TimeUnit.SECONDS);
remoteWebDriver.get().manage().timeouts()
.implicitlyWait(10, TimeUnit.SECONDS);
return remoteWebDriver.get(); // Will return a thread-safe instance of the WebDriver
}
我收到以下错误:
Time elapsed: 1.044 sec <<< FAILURE!
org.openqa.selenium.firefox.UnableToCreateProfileException: Given model profile directory does
not exist: TEST001
更新:我在下面的 BaseTest 类中注入方法名称
@BeforeMethod
public void startTest(Method testMethod) {
LOG.info("Starting test: " + testMethod.getName());
this.driver = WebDriverSetup.getDriver(testMethod.getName());
}
【问题讨论】:
-
你怎么称呼这个?
methodName是什么? -
所以每个测试都有单独的配置文件?您确定所有这些配置文件都存在吗?
-
由于所有这些测试都在远程运行并且这些配置文件不存在,我希望它能够即时创建并将其分配给驱动程序。是不是不能创建一个配置文件目录并将其分配为每个驱动程序的配置文件?
-
selenium 默认创建一个新的配置文件然后运行测试。如果您不需要“重用”配置文件,则无需执行任何操作。如果你想分配一个创建的配置文件,你需要先创建它们并使用 selenium 来加载它们,就像你已经做的那样
标签: selenium selenium-grid selenium-firefoxdriver remotewebdriver parallel-testing