gpt4 book ai didi

java - Selenium 页面对象模型框架

转载 作者:行者123 更新时间:2023-11-30 07:12:43 24 4
gpt4 key购买 nike

我正在使用 selenium webdriver 学习页面对象模型,有人可以就这些向我提供建议吗?

1 - 为什么 POM 中的每个页面都有构造函数来初始化 webdriver 对象? (如下图)如果webdriver没有初始化会发生什么?

public class New_Register 
{
WebDriver driver;

public New_Register(WebDriver driver)
{
this.driver=driver;
}

@FindBy(xpath=".//input[@id='emailAdd']") WebElement EmailID;
}

2 - POM 是 Selenium Webdriver 中的框架还是设计模式?

最佳答案

如果您的页面对象继承自 LoadableComponent 类,强制您重写 load 和 isloaded 方法,并且您使用 PageFactory.initElements 来初始化 webelements 的代理(@Find...),我认为您正在将其用作框架。如果您处理所有这些事情,负责检查页面是否已加载、获取网络元素、传递页面对象等,但您使用类来建模页面或其部分功能,那么它可能被视为一种设计模式。

如果您不传入驱动程序,您将必须自己初始化驱动程序。否则,当您调用它的任何方法时,您将得到最喜欢的空指针异常。此外,当您调用 PageFactory.initElements 时,它首先会在页面对象上查找以驱动程序作为唯一参数的构造函数。然后它只会查找默认值,如果没有找到前一个值,那么您将必须自己处理驱动程序初始化。

关于java - Selenium 页面对象模型框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942875/

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