我在自动化过程中使用 Junit 4 和 Selenium webdriver。我有多个测试用例,每个测试用例都需要登录功能。
我想在同一个浏览器窗口中运行所有测试用例并维护登录会话,而不是为每个测试用例打开新浏览器并每次都登录。(在我当前的脚本中,我在每个测试用例中启动 webdriver,它为每个测试用例打开一个新窗口并每次登录)
我想运行一个测试套件,我想在同一个浏览器窗口中运行我的所有测试用例。请给我一个解决方案。代码 :
public class first {
public static WebDriver driver;
@BeforeClass
public static void beforeClass()
{
System.setProperty("webdriver.chrome.driver", "E:/chromedriver.exe");
System.out.println("Before class");
driver = new ChromeDriver();
}
@Test
public void login()throws Exception
{
driver.get("URL");
WebElement login = driver.findElement(By.xpath("my xpath");
login.findElement(By.id("username")).sendKeys("username");
login.findElement(By.id("password")).sendKeys("pwd");
driver.findElement(By.xpath("my xpath")).click();
}
}
创建第二类:
public class second {
public static WebDriver driver;
{
@Test
public void nextstep()throws Exception
{
WebElement buttons = driver.findElement(By.xpath("my xpath"));
buttons.findElement(By.className("Classname")).click();
}
}
测试套件类:
@RunWith(Suite.class)
@SuiteClasses({first.class, second.class})
public class testsuite
{
public static WebDriver driver;
@BeforeClass
public static void setUpClass()
{
System.out.println("Master Setup");
}
}