在带有WebDriver的Selenium 2中,您可以调用
driver = new FirefoxDriver();
会产生一个浏览器,并且该浏览器将在测试期间保持打开状态,
或者您可以选择使用driver.Quit()关闭它.
其实我想做什么?
我喜欢在两次测试之间关闭浏览器窗口,以使我知道测试不会“存储”可能会影响测试运行方式的会话数据,但是我可以在一些目标测试中看到价值,在此我可以尝试一些不同的场景,同时保持相同的会话进行.
对于代码级别:您可以检查它是否为null.如果为null,则调用浏览器以提供另一个.
/**
* Driver for web application.
*
* @return driver Browser
* @throws IOException
*/
public WebDriver getDriverBrowser() throws IOException {
if (driverBrowser == null) {
String sBrowser = PropertyLoader.loadProperty("browser");
driverBrowser = getBrowser(sBrowser);
driverBrowser
.manage()
.timeouts()
.implicitlyWait(
Integer.valueOf(PropertyLoader
.loadProperty("implicit_timeout_sec")),
TimeUnit.SECONDS);
driverBrowser.manage().window().maximize();
}
return driverBrowser;
}
或者,您可以使用xml配置将某些测试用例用作类级别或特定于测试的测试.使用TestNG,您可以指定要运行的测试(TestNG会生成所有失败测试的XML文件,因此在运行时,它将仅执行失败的测试).
Issue – 1: I mean i don’t want to log in again to continue testing , I don’t mind
if it opens another window, in fact as you said it’s more reliable but
not helpful if i have to log in again.
如果您不想登录,那么在每个测试用例中,都需要一个基本的起点.结束任何测试用例后,它将转到基准位置,下一个测试用例将从基准开始
Issue – 2: How can i implement a base starting point?
它是由你决定.首先,您必须分析测试用例,然后必须选择哪个点可以作为全部或部分测试用例的起点.然后就可以做到.
有关更多: