具有现有框架的Selenium Grid Implementaiton会产生Null指针异常

时间:2015-09-29 12:32:09

标签: java selenium

我们已经用我们现有的框架实现了Selenium Grid(分布式测试)概念,同时实现了它产生的空指针异常 截至目前,我有一个包,有三个类文件(Baseclass,Loginclass,testcase)

Baseclass - 获取我想要的驱动程序并导航到应用程序

public class Loginclass extends Baseclass {

    public Loginclass navigateToLogin() {
        Navigate("qa");
        return new Loginclass();
    }
    }

并在Loginclass中导航到该位置(QA或UAT等)

public class TestcaseSearch extends Loginclass {
    @BeforeTest
    public final void Startup() throws MalformedURLException {
        Baseclass baseClass = new Baseclass();
        baseClass.GetDriver;        
        }       
    @Test
    public void fieldsSearch(String username, String password)
            throws Exception {      
        Loginclass loginClass = new Loginclass();
        navigateToLogin();
        }
        }

Testcase我们有一个测试用例并执行相同的

idsDriver.navigate().to(navigateToThisUrl);

执行上面的操作时会产生空指针异常

基类:Navigate("qa");

登录类:java.lang.NullPointerException at com.Baseclass.Navigate(Baseclass.java:11) at com.Loginclass.Navigate(Loginclass.java:1) at com.TestcaseSearch.Navigate(TestcaseSearch.java:1) at com.Loginclass.navigateToLogin(Loginclass.java:4) at com.TestcaseSearch.fieldsSearch(TestcaseSearch.java:11)

让我知道如何纠正这个

异常输出

{{1}}

1 个答案:

答案 0 :(得分:1)

您的myDriver实例为空,因为您在Baseclass中创建了Startup()的新实例,该实例将myDriver设置为自身,而不是实际的测试类实例。

同样,您无需在Loginclass中创建新的fieldsSearch,因为TestcaseSearchLoginclass的子类:

public class TestcaseSearch extends Loginclass {
    @BeforeTest
    public final void Startup() throws MalformedURLException {
        GetDriver();        
    }       

    @Test
    public void fieldsSearch(String username, String password)
            throws Exception {      
        navigateToLogin();
    }
}