我正在使用 selwnium 网络驱动程序。当我使用 selenium 和 nunit 运行我的测试用例时,我发现每次测试用例启动时都会打开一个新页面,完成后新页面将被破坏。因此,我必须在每个测试用例中打开新页面并登录。
我想让我的测试用例共享一个网页,以便它们可以按顺序执行。
是硒限制,还是实现它的一种方式?
谢谢!
我正在使用 selwnium 网络驱动程序。当我使用 selenium 和 nunit 运行我的测试用例时,我发现每次测试用例启动时都会打开一个新页面,完成后新页面将被破坏。因此,我必须在每个测试用例中打开新页面并登录。
我想让我的测试用例共享一个网页,以便它们可以按顺序执行。
是硒限制,还是实现它的一种方式?
谢谢!
尝试在您的内部声明Webdriver
实例变量并仅初始化一次。您的行为是因为不同的 webdriver 实例不共享相同的,因此您必须始终登录到所需的页面。static
test class
session
您可能使用@Before , @After
注释。尝试@BeforeClass, @AfterClass
改用。例如:
....
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();
}
.....