如何将网页元素与页面对象文件分离

问题描述 投票:0回答:1

所以我按照页面对象模型,有一个类(A类),它有特定页面的元素和功能。我还有一个使用A类的Test测试类,目前我的Page至少有222个Web元素,因为这个页面有很多组件需要填写,用于回归测试。你可以想象,Page对象有数百行代码,上面只有Web元素,下面是函数。我想知道如何才能把这些web元素分离出来,这样代码才能更干净。

我在guru99的文章中看到了如何把它放在XML中,但是文章中的做法并不能解决我的问题,因为我仍然需要以某种方式初始化它们,或者到处都是'driver.find(locator from XML)',所以代码仍然会很乱。

页面对象类A

    public class PageA extends BasePage{

      @FindBy(xpath="//*[some xpath]")
      WebElement inputField1
      @FindBy(xpath="//*[some xpath]")
      WebElement inputField2
      @FindBy(xpath="//*[some xpath]")
      WebElement inputField3


     public PageA(Webdriver driver){
       super(driver);
     }

      public void method1(){
        //do something
      }

    }

我希望能够在其他地方初始化222个Web元素,这样代码会更干净。

java selenium-webdriver pageobjects
1个回答
0
投票

更好的想法是创建你自己的元素,如 按钮, 鏈接, 输入、等。

而不是一般的 WebElement. 它不是那么舒服的工作,所以一般的Web元素API。你可以输入文本(发送键)到按钮或链接。

  1. 更多关于它的信息。如何实现@FindBy注解的用户类型。.

  2. 你可以使用现有的库来实现这样的功能,如 Html Elements框架

  3. 你可以使用一个带有页面对象概念的框架,比如说 硒化物宁静框架

© www.soinside.com 2019 - 2024. All rights reserved.