Selenium Webdriver - TestNG - 空指针异常

时间:2014-04-25 16:16:49

标签: java selenium pageobjects

我正在使用Pageobjects来运行我的脚本。我声明了两个包 - 一个用于Pageobject定义,另一个用于TestNGclasses。假设如果我在Package-1中有3个类,那么我相应地在package-2中有3个测试类。

截至目前,我在Package-1中有2个类(Login和home),在Package-2中有相同的测试类

我在package-2中的LoginTest.java中声明了驱动程序,如下所示;

public static WebDriver driver = new FirefoxDriver();    

@BeforeMethod
public void Setup(){

    driver.get(StringUrl);
    driver.manage().window().maximize();
}

现在,当我调用HomeTest.java时,它显示Null Pointer Exception;如何声明webdriver一次并在多个测试类中使用它的实例?

public class searchPOTest {
private WebDriver driver;

public void HomePOTest(WebDriver driver){

    this.driver = driver;
}

@Test(priority=1)
public void testvalidsearchnInputs() throws Exception {
  //homePagePO.doaSearch("Google");
  homePagePO homeTosearch  = PageFactory.initElements(driver, homePagePO.class);
  searchResultPO toSearch = homeTosearch.search("Google");
}

1 个答案:

答案 0 :(得分:0)

您可以通过扩展课程来实现。例如,在selenium框架中found here ..

有这样的设置:

class AutomationTest {
  public AutomationTest() {
    driver = new Driver();
  }
}


class MyTest extends AutomationTest {
  @Test
  public void doThis() {
    driver.findElement... // driver will not be null now.
  }
}

您当然可以使用@Before方法而不是构造函数。