首页 > 解决方案 > java.lang.NullPointerException 在使用 Selenium TestNG 和 Java 执行第二个 @test 注释方法时

问题描述

java.lang.NullPointerException 在使用 Selenium TestNG 和 Java 执行第二个 @test 注释方法时

代码试用:

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)

标签: javaseleniumselenium-webdrivernullpointerexception

解决方案


您已经声明了WebDriver的全局实例,例如driver

WebDriver driver;

因此,您无需再创建 WebDriver 的任何方法级别实例,继续使用具有全局范围的WebDriver的相同实例,即driver.


解决方案

您需要从方法内WebDriver的行中删除该单词。因此,实际上您的代码行将是:WebDriver driver =new ChromeDriver();select_dealer()

driver = new ChromeDriver();

推荐阅读