我开始尝试使用Serenity BDD和Java的剧本模式。虽然我掌握了基本概念,但在应用关键概念时遇到了一些麻烦。这就是我想做的...
我的第一个尝试是使用户自动登录到应用程序。这包括以下内容:
我成功实现了第1项和第2项,但是我为3处的支票而苦恼。
@Test
public void shouldBeAbleToLogin() {
user.whoCan(BrowseTheWeb.with(browser));
user.wasAbleTo(OpenTheApplication.onTheLoginPage());
user.attemptsTo(SubmitUserCredentials.withValues("test", "test"));
user.should(???);
}
提交凭据后,用户将被重定向到欢迎页面。 ???
表示我不知道如何实施此检查。
我知道我需要实现某个Question
类,仅此而已。你能给我一些提示,你会怎么做吗?
答案 0 :(得分:1)
在Serenity BDD中,您可以编写一个Question类:
导入静态net.thucydides.core.webdriver.ThucydidesWebDriverSupport.getDriver;
实现问题<布尔>
其中将是方法:
@Override
public Boolean answeredBy(Actor actor) {
在其中,您可以:
WebDriver driver = getDriver();
String currentUrl = driver.getCurrentUrl();
在我的情况下,我有一个循环来做更多的检查,以防URL被更改。
答案 1 :(得分:0)
在这种情况下,serenity-ensure可以帮助
Ensure.thatTheCurrentPage().currentUrl()
将URL作为String返回确保我们可以使用内置的String方法(例如equals,contains ..)进行检查。
希望这会有所帮助!
答案 2 :(得分:0)
您还可以使用waitForTextToAppear()方法或waitFor(xpath)方法来验证欢迎页面