使用Selenium TestNG和java执行第二个@test注释方法时发生java.lang.NullPointerException
使用Selenium TestNG和java执行第二个@test注释方法时发生java.lang.NullPointerException 代码试用:使用Selenium TestNG和java执行第二个@test注释方法时发生java.lang.NullPointerException,java,selenium,selenium-webdriver,nullpointerexception,Java,Selenium,Selenium Webdriver,Nullpointerexception,使用Selenium TestNG和java执行第二个@test注释方法时发生java.lang.NullPointerException 代码试用: public class Dropdown { WebDriver driver; @BeforeTest public void Lanchdriver() { System.setProperty("webdriver.chrome.driver", "C:\\Users\\admin\\Do
public class Dropdown {
WebDriver driver;
@BeforeTest
public void Lanchdriver()
{
System.setProperty("webdriver.chrome.driver", "C:\\Users\\admin\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver =new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://www.suzukimotorcycle.co.in/find-dealer");
WebElement dropdown1= driver.findElement(By.xpath("//*[@id='dealer_touch_points']"));
dropdown1.click();
Select select = new Select (dropdown1);
select .selectByVisibleText("Suzuki Premium Dealers");
}
@Test(priority=1)
public void select_dealer()
{
WebElement State_Dropdown =driver.findElement(By.id("dealer_state"));
Select State_Select =new Select (State_Dropdown);
State_Select.selectByValue("27");
}
}
错误:
FAILED: select_dealer java.lang.NullPointerException at myNewPackage.Dropdown.select_dealer(Dropdown.java:47)
您已经声明了WebDriver的全局实例,即
驱动程序
,如中所示:
WebDriver driver;
因此,您无需再创建任何WebDriver的方法级实例,并继续在全局范围内使用相同的WebDriver实例,即驱动程序
解决方案 您需要从行
WebDriver driver=new ChromeDriver()中删除单词WebDriver
代码>在中选择经销商()
方法。因此,您的代码行实际上是:
driver = new ChromeDriver();
从测试前方法更新以下行
WebDriver driver =new ChromeDriver();
到
因为在您的案例中,范围仅限于Before方法。如果您想在外部使用相同的实例,那么在类级别声明
在您的情况下,在executebeforethod之后,您的驱动程序值变为null。这就是为什么在测试方法中获取nullpointer。您看到任何错误吗?失败:在myNewPackage.Dropdown中选择\u dealer java.lang.NullPointerException。选择\u dealer(Dropdown.java:47)
driver =new ChromeDriver();