我需要实现一件事:每次开始测试时,我都必须登录系统。我创建了一个应该运行这个登录过程的类。我能够向这个类发送正确的值并且它能够登录,但在那之后,我在我的第二个类(它正在运行测试本身)上收到 NullPointerException。看起来它根本看不到浏览器窗口。请帮助我以一种允许我在尽可能多的类中重用登录类的方式编写这些类。
一个用于登录:
public class Login {
private static WebDriver driver;
public static void Find_Fields (String path,String login, String password) {
driver = Driver.get(path);
WebElement login_field = driver.findElement(By.id("abc"));
login_field.sendKeys(login);
//Find Password Field on Start page
WebElement password_field = driver.findElement(By.id("abc"));
password_field.sendKeys(password);
//Find Login Button
WebElement login_button = driver.findElement(By.xpath("abc"));
login_button.click();
}
}
public class Testing {
private static WebDriver driver;
@BeforeClass
public static void a_setup(){
//here I'm trying to run Login with parameters
Login fields = new Login();
fields.Find_Fields(LOGIN_PATH, LOGIN, PASSWORD);
}
@Test
public void b_Press_Login_Button(){
//Here I'm trying to start testing in session started from a_setup()
WebElement keyword = driver.findElement("..."));
keyword.sendKeys("...");
}
@AfterClass
public static void Close(){
driver.quit();
driver.close();
}
}