当前位置: 首页 > 知识库问答 >
问题:

使用页面工厂方法时如何解决selenium中的空指针异常

南门意蕴
2023-03-14

我有3个类--一个用于页面定位器,一个用于页面操作,另一个作为执行函数的脚本。在调用函数的主要脚本中,我得到nullpointer异常。谁能帮我一下,拜托!!!!。

    null

公共类HomePageLocator{WebDriver驱动程序;public HomePageLocator(WebDriver驱动程序){this.driver=driver;}

    @FindBy(xpath="//*[@id='header']/div[2]/div/div/nav/div[1]/a")
    public WebElement signIn;

}

HomePageAction.Page公共类HomePageAction{

this.homepage = new HomePageLocator(driver);
PageFactory.initElements(driver, this.homepage);

BaseTestCase.java

公共类BaseTestCase{

public static Logger log = Logger.getLogger("devpinoyLogger");

public static void main(String[] args) throws Throwable  {

    System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\src\\test\\resources\\Executables\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("http://automationpractice.com/index.php");
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    // Home page validation
    HomePageAction homepageaction= new HomePageAction();
    homepageaction.login();


}

注意:我正在获取行(HomePageAction.login();)中的异常以下是异常日志:线程“main”中的异常java.lang.NullPointerException(位于org.openqa.selenium.support.pageFactor.defaultelementLocator.findElement(位于org.openqa.selenium.support.pageFactor.internal.locatingelementLocator.java:69)(位于org.openqa.selenium.support.pageFactor.internal.locatingelementHandler.invoke(locatingelementHandler.java:38)(位于

共有1个答案

郎聪
2023-03-14

您正在main类中创建驱动程序,但没有将其传递给homepageAction public static void main(string[]args)throws Throwable{

System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"\\src\\test\\resources\\Executables\\chromedriver.exe");
WebDriver driver = new ChromeDriver();

尝试将驱动程序传递为HomePageAction HomePageAction=new HomePageAction(驱动程序);this.driver=驱动程序

 类似资料:
  • 我是Selenium的新手,在运行下面的脚本时,我会遇到空指针异常,一旦站点调用loads,测试就会停止运行。我无法理解例外的原因。 代码如下: 我得到以下错误: 请帮助我,我做错了什么,提前感谢!

  • 本文向大家介绍Java中避免空指针异常的方法,包括了Java中避免空指针异常的方法的使用技巧和注意事项,需要的朋友参考一下 没人会喜欢空指针异常!有什么方法可以避免它们吗?或许吧。。 本文将讨论到以下几种技术 1.Optional类型(Java 8中新引入的) 2.Objects类(Java 7中原有的) Java 8中的Optional类 它是什么? 1.Java 8中新引入的类型 2.它是作为

  • 问题内容: 我需要解析一个Xml文档并将值存储在文本文件中,当我解析普通数据(如果所有标签都包含数据)时,它的工作状况很好,但是如果任何标签中都没有数据,则它会抛出“ NullpointerException”这样做,为避免出现空指针异常,请使用示例代码Sample xml来建议我: 码: 问题答案: 只需检查对象是否不是:

  • 本文向大家介绍Java自动拆箱空指针异常的解决,包括了Java自动拆箱空指针异常的解决的使用技巧和注意事项,需要的朋友参考一下 公司搬迁,临时充当装修工,提前两个小时到公司忙着拆卸设备。结果接到客户反映,某部分功能偶尔不能用。于是参与救火,与写这段代码的小伙伴一起排查原因。 最终发现导致业务偶尔不能使用是由Long类型自动拆箱导致空指针异常引起的。下面就带大家分析一下Java中基础类型的包装类在拆

  • > 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。

  • 我使用了页面对象模型设计模式和Cucumber。为此,我创建了两个名为和的页面,但在运行脚本时,即使我已经使用pagefactory初始化webelements,也会出现空指针异常,请查看以下代码: 文摘: 登录页面: 然后我有一个类,在这里我调用上面的登录类方法。浏览器打开良好,url被命中,但当它进入l方法时,它会在第一行本身抛出异常。 我还有一个TestRunner类,其中我粘贴了我的步骤定