首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Serenity-BDD: Screenplay:如何在页面上的任何位置找到文本字符串(在任何元素中)

Serenity-BDD: Screenplay:如何在页面上的任何位置找到文本字符串(在任何元素中)
EN

Stack Overflow用户
提问于 2017-01-21 09:20:27
回答 1查看 3.1K关注 0票数 1

找了几个小时后,我不得不问...

我想在页面上找到一串文本。具体地说,我希望确保根据用户提交的表单显示适当的错误。考虑到可能有几条消息,以及我正在处理的web应用程序,如果我可以将每个元素捕获到一个列表中,我想我可以遍历该列表并匹配字符串。

宁静-BDD对我来说是新的,我正在挖掘Screenplay (我的老板很喜欢它的报告),但我发现很难理解其中的一些(好的演练例子很少)。此外,我也几乎没有使用Selenium的经验。

如果有人可以帮助我,或者告诉我一些信息(除了serenity-bdd在线手册),我将非常感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 16:48:21

使用剧本模式,您可以编写返回表单错误的问题,这些错误可以在BDD测试中进行检查。例如,我有一个表单,它在输入值旁边显示错误。所有的错误都有css类".text-danger“。匹配的Question对象将如下所示:

代码语言:javascript
复制
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常量如下所示:

代码语言:javascript
复制
public static final Target FORM_ERRORS = Target.the( "Form Errors" ).locatedBy( ".text-danger" );

因此,我能够像这样检查正确的错误:

代码语言:javascript
复制
theActorInTheSpotlight().should( 
  seeThat( FormErrors.displayed(), is( errors ) ) 
);

如何编写剧本测试的一个很好的例子是screenplay-pattern-todomvc项目。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41774796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档