我正在尝试为我的Java应用程序创建Selenium测试,但是每个测试都花费大约5秒的时间来执行。测试最耗时的部分是初始化Selenium。
我将初始化每个测试的web驱动程序@before,并关闭驱动程序@after测试。
是否有任何方法来启动webdriver并“重新启动”每个测试?或者我应该启动它,运行所有的测试,然后结束他?怎样才能缩短测试时间?
我使用selenium 2、maven和Junit 4。
所以我要开始和完成测试
@Before
public void setUpBeforeClass() throws Exception {
System.setProperty("webdriver.chrome.driver",
"drivers/chromedriver.exe");
driver = new ChromeDriver();
driver.get(baseUrl);
}
@After
public void tearDownAfterClass() throws Exception {
driver.quit();
}先谢了。
发布于 2013-10-21 14:56:17
有些人可能更喜欢在每个测试中使用一个新的Driver实例,以避免一个测试的副作用影响另一个测试。我从来没有遇到过那个问题。出于效率原因,我尝试在套件中的所有测试中重用单个Driver。
发布于 2013-10-22 06:23:52
同意User246的观点,下面是一个如何做的例子:
protected WebDriver getWebDriver() {
if (driver == null) {
driver = new InternetExplorerDriver();
}
return driver;
}https://sqa.stackexchange.com/questions/7010
复制相似问题