通常我要创建多个页面存储库和一个测试页面。如果要创建多个测试页面,即每个页面存储库的每个测试页面,那么我如何在不同的测试页面之间传输驱动程序小部件。
答案 0 :(得分:0)
您可能会引入基类,这些基类将包含在多个页面之间共享的公共元素。
使用它们的方法也是如此。
您可以指定在其他语言中使用的语言以获得更具体的答案吗?
答案 1 :(得分:0)
尝试使用PageObject模式。 这是一个如何实例化驱动程序并在整个代码中进行传输的示例,这是自动化的最佳实践:
public class LoginPage {
private WebDriver driver;
@FindBy(how=How.NAME, using="username")
private WebElement txtUsername;
@FindBy(how=How.NAME, using="butonSubmit")
private WebElement buttonSubmit;
public LoginPage(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(driver, this);
}
public void inputUsername(String username){
txtUsername.sendKeys(username);
return this;
}
public void clickSubmit(String username){
buttonSubmit.click();
return new MainPage(driver);
}
}
public class MainPage{
@FindBy(how=How.NAME, using="mainElement")
private WebElement mainElement;
....
public MainPage(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(driver, this);
}
}
然后您的测试如下:
@Test
public void testLogin(){
LoginPage loginPage = new LoginPage(driver);
loginPage.inputUsername(test123);
MainPage mainPage = loginPage.clickSubmit();
...
}
这是您可以在所有页面上转移webDriver的方式,
花点时间研究一下PageObject Model模式,
这是一个出色的tutorial
希望我能帮忙...