selenium框架中的空指针异常

时间:2018-04-19 13:08:57

标签: selenium automation automated-tests testng

您好我有三节课

  1. 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;
        }
    }
    
  2. Levelmanage: 在这堂课中,我创建了一个方法" managelink"找到一个元素。

    public class Levelmanage {
        public static  WebElement element;
    
        public static WebElement managelink(WebDriver driver) {
            element=driver.findElement(By.linkText("Manager link"));
            return element;
        }
    }
    
  3. 测试1

    public class Test1  {
    
    public WebDriver driver;
    
    @Test
    public void f() {
        Drivermethod.initiate(driver).get("url");
        Levelmanage.managelink(driver).click();
    }
    
  4. 在第三类中调用第一个2方法...当我运行此类(Test1)时,第一个方法执行发生在它转到第二个时(Levelmanage.managelink(driver).click();)驱动程序变为NULL。请帮助我......

1 个答案:

答案 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也毫无用处。我猜这是事实,因为它没有分配到任何地方。