Serenity-BDD:剧本:如何在页面上的任何位置(任何元素中)查找文本字符串
Serenity-BDD: Screenplay: How to find a string of text anywhere on the page (in any element)
找了几个小时,不得不问...
我想在页面上找到一串文本。具体来说,我希望确保根据用户提交的表单显示正确的错误。考虑到可能有多个消息和我正在处理的 Web 应用程序,如果我可以将每个元素捕获到一个列表中,我认为我可以遍历该列表并匹配字符串。
Serenity-BDD 对我来说是新手,我正在研究剧本(我的老板喜欢报告),但我发现很难理解其中的一些内容(而且好的演练示例很少).此外,我对 Selenium 的经验也很少。
如果有人能提供帮助,或向我指出一些信息(除了 serenity-bdd 在线手册),我将不胜感激。
使用剧本模式,您可以编写 return 您可以在 BDD 测试中检查表单错误的问题。例如,我有一个表单,它在输入值旁边显示错误。所有错误都有 css class “.text-danger”。
匹配的 Question
对象将如下所示:
public class FormErrors
implements Question<List<String>> {
public static FormErrors displayed() {
return new FormErrors();
}
@Override
public List<String> answeredBy( Actor actor ) {
return Text.of( EnterForm.FORM_ERRORS ).viewedBy( actor ).asList();
}
}
FORM_ERRORS
常量如下所示:
public static final Target FORM_ERRORS = Target.the( "Form Errors" ).locatedBy( ".text-danger" );
所以我可以像这样检查正确的错误:
theActorInTheSpotlight().should(
seeThat( FormErrors.displayed(), is( errors ) )
);
screenplay-pattern-todomvc 项目是编写剧本测试的一个很好的例子。
找了几个小时,不得不问...
我想在页面上找到一串文本。具体来说,我希望确保根据用户提交的表单显示正确的错误。考虑到可能有多个消息和我正在处理的 Web 应用程序,如果我可以将每个元素捕获到一个列表中,我认为我可以遍历该列表并匹配字符串。
Serenity-BDD 对我来说是新手,我正在研究剧本(我的老板喜欢报告),但我发现很难理解其中的一些内容(而且好的演练示例很少).此外,我对 Selenium 的经验也很少。
如果有人能提供帮助,或向我指出一些信息(除了 serenity-bdd 在线手册),我将不胜感激。
使用剧本模式,您可以编写 return 您可以在 BDD 测试中检查表单错误的问题。例如,我有一个表单,它在输入值旁边显示错误。所有错误都有 css class “.text-danger”。
匹配的 Question
对象将如下所示:
public class FormErrors
implements Question<List<String>> {
public static FormErrors displayed() {
return new FormErrors();
}
@Override
public List<String> answeredBy( Actor actor ) {
return Text.of( EnterForm.FORM_ERRORS ).viewedBy( actor ).asList();
}
}
FORM_ERRORS
常量如下所示:
public static final Target FORM_ERRORS = Target.the( "Form Errors" ).locatedBy( ".text-danger" );
所以我可以像这样检查正确的错误:
theActorInTheSpotlight().should(
seeThat( FormErrors.displayed(), is( errors ) )
);
screenplay-pattern-todomvc 项目是编写剧本测试的一个很好的例子。