尝试运行测试用例时,selenium中的线程“main”java.lang.NullPointerException中出现异常

尝试运行测试用例时,selenium中的线程“main”java.lang.NullPointerException中出现异常,selenium,webdriver,Selenium,Webdriver,下面是我的简单测试用例程序: package mypackage; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class myclass { public WebDriv

下面是我的简单测试用例程序:

    package mypackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;


public class myclass {

    public WebDriver driver;
    public static void main(String[] args) {
        myclass dr= new myclass();
        dr.start();
        dr.select();
    }

    public void start(){

        WebDriver driver= new FirefoxDriver();
        driver.get("https://www.google.co.in/");
    }

    public void select(){
        driver.findElement(By.linkText("Gmail")).click();
    }

}
但每次我运行它时,它都会抛出以下错误:

    Exception in thread "main" java.lang.NullPointerException
    at mypackage.myclass.select(myclass.java:26)
    at mypackage.myclass.main(myclass.java:15)
浏览器启动后,谷歌主页也会显示出来,但选择gmail链接的下一个动作没有发生,出现了错误。 **在不同的浏览器上试过这个。但错误仍然存在


请帮助我,我对selenium是新手。

在Java中查找变量范围

这一行:

driver.findElement(By.linkText("Gmail")).click();
是指:

public WebDriver driver;
这是从来没有设置为任何东西

这将修复该错误:

public void start(){
    driver= new FirefoxDriver();
    driver.get("https://www.google.co.in/");
}

此外,类名应以大写字母开头。

只需从上面已声明的start方法中删除WebDriver实例,如果使用它,则WebDriver全局声明不在方法start的当前范围内

 package mypackage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;


public class myclass {

    public WebDriver driver;
    public static void main(String[] args) {
        myclass dr= new myclass();
        dr.start();
        dr.select();
    }

    public void start(){

        driver= new FirefoxDriver();
        driver.get("https://www.google.co.in/");
    }

    public void select(){
        driver.findElement(By.linkText("Gmail")).click();
    }

}