Java 尝试从testng.xml运行测试时出现NullPointerException
因此,接下来的问题是——我正试图重构我的基本测试以进行多浏览器并行测试,但是在从testng.xml文件运行代码之后,我得到了NullPointerExeption。 我的基本测试:Java 尝试从testng.xml运行测试时出现NullPointerException,java,selenium,selenium-webdriver,nullpointerexception,testng,Java,Selenium,Selenium Webdriver,Nullpointerexception,Testng,因此,接下来的问题是——我正试图重构我的基本测试以进行多浏览器并行测试,但是在从testng.xml文件运行代码之后,我得到了NullPointerExeption。 我的基本测试: public class BaseTest { String browser = System.getProperty("browser"); WebDriver driver = null; @Parameters("browser")
public class BaseTest {
String browser = System.getProperty("browser");
WebDriver driver = null;
@Parameters("browser")
@BeforeMethod(alwaysRun = true)
public void setUp() {
System.out.println("Current browser is " + browser);
if (browser.equalsIgnoreCase("chrome")) {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
} else if (browser.equalsIgnoreCase("firefox")) {
WebDriverManager.firefoxdriver().setup();
driver = new FirefoxDriver();
} else if (browser.equalsIgnoreCase("edge")) {
WebDriverManager.edgedriver();
driver = new EdgeDriver();
}
driver.manage().window().maximize();
driver.get("https://demo.prestashop.com/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
BasePage.setDriverThreadLocal(driver);
}
@AfterMethod(alwaysRun = true)
public void tearDown() {
getDriver().quit();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="2" name="Suite" parallel="methods">
<test thread-count="2" name="Test" parallel="methods">
<parameter name="browser" value="chrome"/>
<classes>
<class name="SubscribeWithInvalidEmailTest"/>
<class name="CheckLanguagesTest"/>
</classes>
</test>
</suite>
我的testng.xml配置:
public class BaseTest {
String browser = System.getProperty("browser");
WebDriver driver = null;
@Parameters("browser")
@BeforeMethod(alwaysRun = true)
public void setUp() {
System.out.println("Current browser is " + browser);
if (browser.equalsIgnoreCase("chrome")) {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
} else if (browser.equalsIgnoreCase("firefox")) {
WebDriverManager.firefoxdriver().setup();
driver = new FirefoxDriver();
} else if (browser.equalsIgnoreCase("edge")) {
WebDriverManager.edgedriver();
driver = new EdgeDriver();
}
driver.manage().window().maximize();
driver.get("https://demo.prestashop.com/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
BasePage.setDriverThreadLocal(driver);
}
@AfterMethod(alwaysRun = true)
public void tearDown() {
getDriver().quit();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="2" name="Suite" parallel="methods">
<test thread-count="2" name="Test" parallel="methods">
<parameter name="browser" value="chrome"/>
<classes>
<class name="SubscribeWithInvalidEmailTest"/>
<class name="CheckLanguagesTest"/>
</classes>
</test>
</suite>
如果您能为我提供任何帮助,我将不胜感激。有两件事-