Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Selenium TestNG和java执行第二个@test注释方法时发生java.lang.NullPointerException_Java_Selenium_Selenium Webdriver_Nullpointerexception - Fatal编程技术网

使用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

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

代码试用:

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();