我正在使用selwnium网络驱动程序。当我使用selenium和nunit来运行我的测试用例时,我发现每次测试用例开始时都会打开一个新页面,当它完成时,新页面将被破坏。因此,我必须在每个测试用例中打开新页面并登录。
我想让我的测试用例共享一个网页,以便按顺序执行。
是硒限制,还是实施它?
谢谢!
答案 0 :(得分:2)
尝试在Webdriver
中将static
实例变量声明为test class
,并初始化一次。您的行为是因为不同的webdriver实例不共享相同的session
,因此您始终要登录到所需的页面。
答案 1 :(得分:0)
您可能使用@Before , @After
注释。
请尝试使用@BeforeClass, @AfterClass
。 e.g:
....
static WebDriver driver;
@BeforeClass
public static void firefoxSetUp() throws MalformedURLException {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
driver.manage().window().setSize(new Dimension(1920, 1080));
}
@Before
public void homePageRefresh() throws IOException {
driver.manage().deleteAllCookies();
driver.get(propertyKeysLoader("login.base.url"));
}
@AfterClass
public static void closeFirefox(){
driver.quit();
}
.....