Класс, содержащий метод @beforeTest:
package com.test.poc;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
public class testNGPackagesPOC {
WebDriver driver;
@BeforeTest(groups = {"testGroup"})
public void beforeTest() {
System.setProperty("webdriver.gecko.driver", "/Users/hemasundarpenugonda/xebia/projects/mck/iservice-app-automation/src/main/resources/drivers/geckodriver");
driver = new FirefoxDriver();
driver.get("http://google.com");
}
@AfterTest
public void afterTest() {
// driver.quit();
}
}
Класс, содержащий метод @test:
package com.test.poc;
import org.testng.annotations.Test;
public class testNGPackagesPOC1 extends testNGPackagesPOC {
@Test(groups = {"testGroup"})
public void test() {
driver.get("http://google.com");
}
}
TestNG.xml:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite">
<test name="Test Name">
<groups>
<run>
<include name="testGroup" />
</run>
</groups>
<!--<classes>-->
<!--<class name="com.test.poc.testNGPackagesPOC1"/>-->
<!--</classes>-->
<packages>
<package name="com.test.poc" />
</packages>
</test>
</suite>
Случай 1: Когда я выполняю вышеуказанный TestNG xml (с тегом пакетов), исключение нулевого указателя отображается для объекта драйвера в методе @Test.
Случай 2: Когда я выполняю тот же Test.xml с тегом классов, все выполняется нормально.
Случай 3: Когда я выполняю тот же TestNG.xml, удалив метод @AfterTest (с тегом пакетов / классов), все работает нормально.
Что не так с тегом пакетов ( Случай 1 ) в TestNg.xml?