在线程“main"中获取错误异常java.lang.NullPointerException [英] Getting error exception in thread "main" java.lang.NullPointerException

查看:43
本文介绍了在线程“main"中获取错误异常java.lang.NullPointerException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在 selenium 中运行以下类文件时,浏览器启动并打开 URL,但之后出错:

When i run the following class files in selenium, the browser is launched and URL is opened but error after that:

exception in thread "main" java.lang.NullPointerException
    at guru99project.guru99project.printtitlepage(guru99project.java:25)
    at guru99project.Main_method.main(Main_method.java:10)

代码试验:

package guru99project;

import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class guru99project {

 public WebDriver driver;

    public void invokechrome() {
        System.setProperty("webdriver.chrome.driver","C:\\Users\\A\\eclipse-workspace\\libs\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        Dimension dim = new Dimension(640,480);
        driver.manage().window().setSize(dim);
        driver.manage().window().maximize();
        driver.manage().deleteAllCookies();
        driver.get("http://demo.guru99.com/v4");            
    }

    public void printtitlepage() {

        System.out.println(driver.getTitle());      
    }

    public void login (String uname, String pwd) {
        WebElement usid = driver.findElement(By.name("uid"));       
        usid.sendKeys(uname);

     //   driver.findElement(By.name("uid")).sendKeys(uname);
        driver.findElement(By.name("password")).sendKeys(pwd);
        driver.findElement(By.name("btnLogin")).click();



    }

}

    package guru99project;

public class Main_method {

    public static void main(String[] args) {

        guru99project gp = new guru99project();

        gp.invokechrome();
        gp.printtitlepage();
        gp.login("mnr160177", "hynydej");

    }

}

推荐答案

您已经将 driver 定义为 WebDriver 的一个实例,全局(类级别)为:

You already have defined driver as an instance of WebDriver globally (Class level) as:

public WebDriver driver;

因此您不需要在同一 Class 中的任何 methods() 中定义任何其他 WebDriver 的新实例,并且继续使用 WebDriver 的相同全局定义实例,即 driver.

So you don't need to define any other new instance of WebDriver within any of the methods() within the same Class and keep on using the same globally defined instance of WebDriver i.e driver.

您需要从行中删除 WebDriver:

WebDriver driver = new ChromeDriver();

所以行将是:

driver = new ChromeDriver();

这篇关于在线程“main"中获取错误异常java.lang.NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆