自動化プロセスで 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();
}
}
作成された 2 番目のクラス:
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");
}
}