3 回答
TA贡献1862条经验 获得超6个赞
将“登录”步骤定义为常规方法(未用 注释@Test
)。然后您可以从任何您想要的地方调用该方法。来自您的登录测试方法(在执行步骤后添加所需的断言)以及来自任何setUp
没有实际运行登录测试的方法。
TA贡献1725条经验 获得超7个赞
最后我找到了解决方案:
GoToAdminPage
延伸Login
GoToAdminPage.setUp()
来电parent.setUp()
GoToAdminPage.test()
来电parent.test()
使用它,我能够使我的第二个测试使用其父级作为设置阶段。
TA贡献1798条经验 获得超7个赞
您应该应用页面对象模式,并创建一个登录对象页面。
Web 自动化中最流行的模式之一是所谓的页面对象模式。要理解该模式的主要目标,首先您需要考虑您的 Web 自动化测试正在做什么。他们导航到不同的网页并在各种元素上单击/键入。页面对象模式将页面上发生的所有元素、操作和验证包装在一个对象中——页面对象。
页面对象模式的一些优点如下所示,
减少代码的重复
使测试更具可读性和健壮性
提高测试的可维护性
恕我直言,在测试用例之间创建依赖关系并不是一个好的做法。
例子:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
public final class LoginPage {
@FindBy(id="username")
private WebElement username;
@FindBy(id="password")
private WebElement password;
@FindBy(id="loginBtn")
private WebElement submit;
public LoginPage(WebDriver driver) {
PageFactory.initElements(driver, this);
}
public void submit(String username, String password) {
this.username.sendKeys(username);
this.password.sendKeys(password);
submit.click();
}
}
添加回答
举报