gpt4 book ai didi

javascript - Selenium TestNG 框架无法在多个测试中调用驱动程序对象

转载 作者:行者123 更新时间:2023-12-01 03:02:22 32 4
gpt4 key购买 nike

我正在尝试执行以下程序,但出现空指针错误。其中 @test 无法访问对象驱动程序。我可能犯的错误是什么。错误 -

JavaScript 警告:https://www.google.com/xjs/_/js/k=xjs.s.en_US.MHBUsB8Me90.O/m=sx,c,sb,cdos,cr,elog,hsm,jsa,r,qsm,d,csi/am=wCJGjhccAPk_IRQStxAWyAImDiA/rt=j/d=1/t=zcms/rs=ACT90oGwMPBWhsFBKoM1svJAFUVoVQRQug ,第 7 行:改变对象的 [[Prototype]] 会导致代码运行速度非常慢;而是使用 Object.create 创建具有正确初始 [[Prototype]] 值的对象 https://www.google.com/?gws_rd=ssl失败:网站标题

java.lang.NullPointerException
at myPackage.TestNGforHDFC.websiteTitle(TestNGforHDFC.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108)

package myPackage;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class TestNGforHDFC {
public WebDriver driver;
public String urlUnderTest = "http://www.google.com";
public String projLocation = "C:\\Users\\Nikita Agrawal\\Selenium\\geckodriver.exe";
@BeforeTest
public void login()
{
System.setProperty("webdriver.gecko.driver", projLocation);
WebDriver driver = new FirefoxDriver();
driver.get(urlUnderTest);
System.out.println(driver.getCurrentUrl());
}

@Test
public void websiteTitle()
{
System.out.println(driver.getTitle());
}
}

最佳答案

类变量 driver 从未初始化,您在 login 方法中定义一个名为 driver 的新变量。

用途:

public void login(){
driver = new FirefoxDriver();
....
}

而不是:

public void login(){
WebDriver driver = new FirefoxDriver();
....
}

关于javascript - Selenium TestNG 框架无法在多个测试中调用驱动程序对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46377547/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com