selenium之PageFactory初始化表格元素

本文介绍了如何在TestNG测试框架中使用PageObject设计模式,并详细解释了如何利用PageFactory初始化页面元素。特别关注了表格元素的处理方式,确保自定义获取的元素能够在PageFactory初始化后正确设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

testng测试中使用PageObject模式,其中初始化元素用到了PageFactory。举个例子:

如一个页面:ProjectManagePage,该类中储存了该页面的所有元素,有基本元素,有表格元素;

1.若存储的均是基础元素,那么可以按照PageFactory初始化原理;

public class ProjectManagePage extends BasePage{

    public ProjectManagePage() {
        PageFactory.initElements(driver,this);
    }

    @FindBy(xpath="//th//button[@ng-click='beforeAdd()']")
    public WebElement newAdd;   //新增

}

2.若存储的有表格元素,且表格元素是通过调用其他方法得到的,那么,这里有一点需要注意:要在PageFactory初始化之后,再调用获取表格元素的方法;

原因:1.  PageFactory会对所有的写在这里的元素进行findBy()初始化;

                 2. 而表格元素,是通过调用方法得到的;虽然是通过调用方法得到的表格元素,但是也依然会被PageFactory根据id/name/xpath进行初始化,所以调用方法得到的表格元素会被PageFactory初始化覆盖掉;

                 3. 所以,这里做个小处理:在PageFactory初始化后,再调用获取表格元素的方法,用调用方法将PageFactory初始化覆盖;】

public class ProjectManagePage extends BasePage{

    public ProjectManagePage() {
        PageFactory.initElements(driver,this);

        //属于表格元素,要通过调用方法得到;所以在初始化之后,再进行调取方法;
        pro_Name = getCell(1,3);
    }


    @FindBy(xpath="//th//button[@ng-click='beforeAdd()']")
    public WebElement newAdd;   //新增

    //表格:第1行2列的值;
    public WebElement pro_Name;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值