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

Exception in thread "main" java.lang.NullPointerException in selenium when trying to run a test case

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

    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)

浏览器启动,google 主页也显示,但选择 gmail link 的下一个操作没有发生,并出现错误。 **在不同的浏览器(即 chrome)上尝试过,但错误仍然存​​在

请帮我解决这个问题,我是 selenium 的新手..

在 Java 中查找 "variable scope"。

这一行:

driver.findElement(By.linkText("Gmail")).click();

正在引用:

public WebDriver driver;

从未设置为任何内容。

这应该可以修复该错误:

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

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

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

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

}