我正在尝试使用TestNg和selenium实现页面工厂的页面对象。请提出改进意见。
课程:
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发布于 2016-07-26 09:34:24
LoginPageObjects也是LoginPageLocators吗?
LoginPageObjects extends LoginPageLocators似乎不太可能。因此,我不会让页面对象类扩展locator类。为了更好地融合,我通常在同一个页面对象类中保留定位器。您可能会遇到适用于多个页面对象类的定位器,但无论如何,页对象类不是页面定位器类。
public void verifyTitle(){总的来说,惯例是在页面类中不保留验证/断言。唯一的例外是页对象构造函数,它可以用来检查控件在写页上。
添加到Alexei已经提到的内容。添加完整的代码示例将帮助其他人帮助您。并不是每个人都使用selenium/TestNG,如果没有完整的代码示例,就很难获得上下文。
https://codereview.stackexchange.com/questions/120618
复制相似问题