【问题标题】:Driver giving Null point exception驱动程序给出空点异常
【发布时间】:2021-02-06 15:52:45
【问题描述】:

下面的代码试图在黄瓜中没有 example 关键字的情况下运行,但输出显示为 Null 指针错误

WebDriver driver;
    @Given("^user is alredy in login page$")
    public void user_is_alredy_in_login_page() {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\swagatika.mohapatra\\OneDrive - Qualitest Group\\Desktop\\selenium\\DRIVER\\D-v-88-chrome\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();
        driver.get("https://opensource-demo.orangehrmlive.com/");
        driver.manage().window().maximize();

    }


    @Given("^user enters \"(.*)\" and \"(.*)\"$")
    public void user_enters_valid_user_name(String username, String password) {

        this.driver = driver;
        driver.findElement(By.id("txtUsername")).sendKeys(username);
        driver.findElement(By.id("txtPassword")).sendKeys(password);


    }

调试模式下的控制台输出 -

this = {LoginStepDefination@3223} 
 driver = null
username = "Admin"
password = "admin123"
this.driver = null
driver = null

【问题讨论】:

    标签: java selenium cucumber


    【解决方案1】:
    WebDriver driver = new ChromeDriver();
    

    您在第一步中将驱动程序重新声明为本地变量:

    WebDriver driver;
        @Given("^user is alredy in login page$")
        public void user_is_alredy_in_login_page() {
            System.setProperty("webdriver.chrome.driver", "C:\\Users\\swagatika.mohapatra\\OneDrive - Qualitest Group\\Desktop\\selenium\\DRIVER\\D-v-88-chrome\\chromedriver.exe");
    
            driver = new ChromeDriver();
            driver.get("https://opensource-demo.orangehrmlive.com/");
            driver.manage().window().maximize();
    
        }
    
    
        @Given("^user enters \"(.*)\" and \"(.*)\"$")
        public void user_enters_valid_user_name(String username, String password) {
            this.driver.findElement(By.id("txtUsername")).sendKeys(username);
            this.driver.findElement(By.id("txtPassword")).sendKeys(password);
        }
    

    【讨论】:

    • @Greg 感谢更新我认为他正在将本地驱动程序参数传递给该方法
    • 没问题。当我看到你的答案时,我正在发布答案。
    • 作者注意,您不需要在这里使用它,因为它将由编译器显式添加,因为该方法中没有同名的变量
    猜你喜欢
    • 1970-01-01
    • 2010-12-21
    • 2018-01-13
    • 1970-01-01
    • 2014-11-05
    • 2021-06-12
    • 2011-05-16
    • 2014-11-09
    • 1970-01-01
    相关资源
    最近更新 更多