尝试运行测试用例时 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();
}
}
下面是我的简单测试用例程序:
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();
}
}