尝试运行测试用例时,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();
}
}