在selenium中遇到错误“线程主java.lang.nullpointerexception中的异常”

时间:2015-03-05 10:05:59

标签: java selenium-webdriver

我是硒的新手。面对上面提到的错误。 这是代码: -

package e3;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
//import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;


public class Login {
     public WebDriver drv;
    public WebDriver firefox= new FirefoxDriver();

public void new_account()
{

    firefox.findElement(By.cssSelector("a[title='Create New User']")).click();
    WebDriverWait wait = new WebDriverWait(drv,30);
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("user-username"))).isDisplayed();
    firefox.findElement(By.id("user-username")).sendKeys("testone");

    firefox.findElement(By.id("user-password")).sendKeys("polaris");

    firefox.findElement(By.id("confirmPassword")).sendKeys("polaris");

    firefox.findElement(By.name("Account.name")).sendKeys("test");

    firefox.findElement(By.name("Account.surname")).sendKeys("one");

    firefox.findElement(By.name("saveform")).click();

}

public static void main (String args[])
{
Login login=new Login();    
login.open_url();
login.open_group();
//login.Addnew_group();
login.new_account();

}
}

在上面的代码中,我试图打开一个新帐户并保存。在Web打开所需页面时,出现加载标志,因此我插入了明确的等待。现在它向我显示'Null指针'的错误。 请帮我解决这个问题。

谢谢,

1 个答案:

答案 0 :(得分:2)

您在代码中使用名为firefox的驱动程序,但是等待您添加了一个名为drv的驱动程序。此驱动程序未初始化,导致错误。

您希望等待适用于您实际使用的驱动程序。我认为以下调整将使其适用于您:

WebDriverWait wait = new WebDriverWait(firefox,30);