Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 我的代码中的NullPointerException。如何处理_Selenium_Selenium Webdriver - Fatal编程技术网

Selenium 我的代码中的NullPointerException。如何处理

Selenium 我的代码中的NullPointerException。如何处理,selenium,selenium-webdriver,Selenium,Selenium Webdriver,我已经使用Selenium用Java编写了代码。当我运行代码时,它抛出了一个NullPointerException。检查下面的异常 Exception in thread "main" java.lang.NullPointerException at AdminInterface.loginApplication(AdminInterface.java:17) at AdminInterface.main(AdminInterface.java:29) 我的代码如下: im

我已经使用Selenium用Java编写了代码。当我运行代码时,它抛出了一个NullPointerException。检查下面的异常

Exception in thread "main" java.lang.NullPointerException
    at AdminInterface.loginApplication(AdminInterface.java:17)
    at AdminInterface.main(AdminInterface.java:29)
我的代码如下:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
public class AdminInterface {
    public WebDriver driver;
    public void launchApplication() throws Exception
    {
        System.setProperty("webdriver.ie.driver", "C:\\Users\\rprem\\Downloads\\IEDriverServer_x64_3.4.0\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
        driver.get("https://www.gcrit.com/build3/admin/");
    }
    public void loginApplication(String Username, String Password)
    {
        driver.findElement(By.name("username")).sendKeys(Username);
        driver.findElement(By.name("password")).sendKeys(Password);
        driver.findElement(By.id("tbd1")).click();
    }
    public void closeBrowser()
    {
        driver.close();
    }
    public static void main(String[] args) 
    {
        AdminInterface obj = new AdminInterface();
        obj.loginApplication("admin", "admin@123");
    }
    }

您正在看到一个
NullPointerException
,因为您正试图从
main()
开始访问
loginApplication()
方法,这需要
WebDriver
的活动实例,即
driver
findElement(按.name(“用户名”)&
findElement(按名称(“密码”)并在
HTMLDOM
上执行
sendKeys()
方法

解决方案是首先访问
launchApplication()
方法,这样您就有了
driver
IE-Browser
的活动实例。接下来,您可以访问
loginApplication()
方法

这是您的工作代码块:

package demo;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Q45474353_NPE 
{

    public WebDriver driver;
    public void launchApplication()
    {
        System.setProperty("webdriver.ie.driver", "C:\\Utility\\BrowserDrivers\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
        driver.get("https://www.gcrit.com/build3/admin/");
    }

    public void loginApplication(String Username, String Password)
    {
        driver.findElement(By.name("username")).sendKeys(Username);
        driver.findElement(By.name("password")).sendKeys(Password);
        driver.findElement(By.id("tbd1")).click();
    }

    public void closeBrowser()
    {
        driver.close();
    }

    public static void main(String[] args) 
    {
        Q45474353_NPE obj = new Q45474353_NPE();
        obj.launchApplication();
        obj.loginApplication("admin", "admin@123");
        obj.closeBrowser();
    }

}

您正在看到一个
NullPointerException
,因为您正试图从
main()
开始访问
loginApplication()
方法,这需要
WebDriver
的活动实例,即
driver
findElement(按.name(“用户名”)&
findElement(按名称(“密码”)并在
HTMLDOM
上执行
sendKeys()
方法

解决方案是首先访问
launchApplication()
方法,这样您就有了
driver
IE-Browser
的活动实例。接下来,您可以访问
loginApplication()
方法

这是您的工作代码块:

package demo;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Q45474353_NPE 
{

    public WebDriver driver;
    public void launchApplication()
    {
        System.setProperty("webdriver.ie.driver", "C:\\Utility\\BrowserDrivers\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
        driver.get("https://www.gcrit.com/build3/admin/");
    }

    public void loginApplication(String Username, String Password)
    {
        driver.findElement(By.name("username")).sendKeys(Username);
        driver.findElement(By.name("password")).sendKeys(Password);
        driver.findElement(By.id("tbd1")).click();
    }

    public void closeBrowser()
    {
        driver.close();
    }

    public static void main(String[] args) 
    {
        Q45474353_NPE obj = new Q45474353_NPE();
        obj.launchApplication();
        obj.loginApplication("admin", "admin@123");
        obj.closeBrowser();
    }

}

您没有调用
launchApplication
方法,在这里您实际初始化webdriver对象。您没有调用
launchApplication
方法,在这里您实际初始化webdriver对象。的可能重复