尝试使用TestNG执行跨浏览器测试脚本但提供错误
FAILED CONFIGURATION:@BeforeTest Browser(null):java.lang.NullPointerException"
这是我的代码:
public class CrossBrowserTestingFile {
WebDriver driver;
@BeforeTest
@Parameters("browser")
public void Browser(@Optional String browser)throws Exception {
//Check if parameter passed from TestNG is 'firefox'
if(browser.equalsIgnoreCase("firefox")){
//create firefox instance
System.setProperty("webdriver.firefox.marionette", ".\\geckodriver.exe");
driver = new FirefoxDriver();
}
//Check if parameter passed as 'chrome'
else if(browser.equalsIgnoreCase("chrome")){
//set path to chromedriver.exe
System.setProperty("webdriver.chrome.driver",".\\chromedriver.exe");
//create chrome instance
driver = new ChromeDriver();
}
else
{
//If no browser passed throw exception
throw new Exception("Browser is not correct");
}
}
@Test
public void testParameter() throws InterruptedException{
driver.get("http://demo.guru99.com/V4/");
//Find user name
WebElement userName = driver.findElement(By.name("uid"));
//Fill user name
userName.sendKeys("guru99");
//Find password
WebElement password = driver.findElement(By.name("password"));
//Fill password
password.sendKeys("guru99");
}
}
我的XML代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="TestSuite" thread-count="2" parallel="tests" >
<test name="FirefoxTest">
<parameter name="browser" value="Firefox" />
<classes>
<class name="crossbrowsertesting.CrossBrowserTestingFile">
</class>
</classes>
</test>
<test name="ChromeTest">
<parameter name="browser" value="Chrome" />
<classes>
<class name="crossbrowsertesting.CrossBrowserTestingFile">
</class>
</classes>
</test>
<test name="EdgeTest">
<parameter name="browser" value="Edge" />
<classes>
<class name="crossbrowsertesting.CrossBrowserTestingFile">
</class>
</classes>
</test>
</suite>
请帮助这个,TIA。,这是一个重复的问题,加上我的XML文件代码。我认为xml代码可以帮助你们回答它。