首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在selenium中使用PageObjects实现TestNg

在selenium中使用PageObjects实现TestNg
EN

Code Review用户
提问于 2016-02-20 14:05:13
回答 1查看 102关注 0票数 0

我正在尝试使用TestNg和selenium实现页面工厂的页面对象。请提出改进意见。

课程:

代码语言:javascript
复制
LoginPageObjects extends LoginPageLocators {
   private WebDriver driver;

   public LoginPageObjects(WebDriver driver)
   this.driver=driver;

   public HomePageObjects loginFunction(){
      // some code here
      return PageFactory.initElements(HomePageObjects.class);
   }
}


HomePageObjects extends HomePageLocators{
   private WebDriver driver;

   public HomePageObjects(WebDriver driver)
   this.driver=driver;

   public void verifyTitle(){
       // some code here
   }
}

public class LoginPageTest{

   LoginPageObjects loginPage=new LoginPageObjects();

   public void LoginPageTest(){
      HomePageObjects homepage=loginPage.loginFunction();
      Assert.assertTrue("HomePageTitle",homepage.verifyTitle());
   }
}

TestNGTests.class

public void firstTest() {
   LoginPageTest test=new LoginPageTest();
   test.loginPageTest;
   //other test code
}

`Testng.xml` calls the `TestngTests.class`
`Locators` class contains the `PageFactory` objects
EN

回答 1

Code Review用户

发布于 2016-07-26 09:34:24

LoginPageObjects也是LoginPageLocators吗?

代码语言:javascript
复制
LoginPageObjects extends LoginPageLocators

似乎不太可能。因此,我不会让页面对象类扩展locator类。为了更好地融合,我通常在同一个页面对象类中保留定位器。您可能会遇到适用于多个页面对象类的定位器,但无论如何,页对象类不是页面定位器类。

代码语言:javascript
复制
public void verifyTitle(){

总的来说,惯例是在页面类中不保留验证/断言。唯一的例外是页对象构造函数,它可以用来检查控件在写页上。

添加到Alexei已经提到的内容。添加完整的代码示例将帮助其他人帮助您。并不是每个人都使用selenium/TestNG,如果没有完整的代码示例,就很难获得上下文。

票数 2
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/120618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档