您好我有三节课
Drivermethod: 在本课程中,我创建了一个方法"启动"初始化驱动程序
public class Drivermethod {
public WebDriver driver;
public static WebDriver initiate(WebDriver driver){
System.setProperty("webdriver.ie.driver","C:\\Automation\\IEDriverSeer_Win32_3.8.0\\IEDriverServer.exe");
driver=new InternetExplorerDriver();
driver.manage().window().maximize();
return driver;
}
}
Levelmanage: 在这堂课中,我创建了一个方法" managelink"找到一个元素。
public class Levelmanage {
public static WebElement element;
public static WebElement managelink(WebDriver driver) {
element=driver.findElement(By.linkText("Manager link"));
return element;
}
}
测试1
public class Test1 {
public WebDriver driver;
@Test
public void f() {
Drivermethod.initiate(driver).get("url");
Levelmanage.managelink(driver).click();
}
在第三类中调用第一个2方法...当我运行此类(Test1)时,第一个方法执行发生在它转到第二个时(Levelmanage.managelink(driver).click();)驱动程序变为NULL。请帮助我......
答案 0 :(得分:0)
那是因为你没有从测试类中初始化你的master
字段。
driver
此外,对于启动方法,public class Test1 {
public WebDriver driver;
@Test public void f() {
driver = Drivermethod.initiate(driver).get("url");
Levelmanage.managelink(driver).click();
}
}
是无用的。那是你创建驱动程序的地方,你没有从任何地方收到它。
除此之外,如果您的WebDriver parameter
课程中没有任何其他方法,Drivermethod
也毫无用处。我猜这是事实,因为它没有分配到任何地方。