2017-01-21 7 views
0

数時間のために検索した後(任意の要素で)どこにでもページ上のテキストの文字列を検索する方法を、私は、文字列を見つけるになりたい...セレニティ-BDD:脚本:

を聞いていますページ上のテキストの数。具体的には、ユーザーのフォーム提出に基づいて適切なエラーが表示されるようにしています。いくつかのメッセージがあり、私が扱っているWebアプリケーションがあるとすれば、各要素をリストに取り込むことができれば、リストを繰り返して文字列を一致させることができると思います。

セレニティBDDは私には新しく、私は脚本を掘り起こしています(私の上司は報告を愛する)が、私はそれをいくつかの周りに頭を包むのが難しいと思っています(そしてウォークスルーの例はほとんどありません) 。さらに、セレンの経験もほとんどありません。

もし誰かが助けてくれるとか、あるいは私に(serenity-bddのオンラインマニュアル以外の)いくつかの情報を指摘してもらえれば、私は大いに感謝します。

答えて

0

脚本のパターンでは、BDDテストで確認できるフォームエラーを返す質問を書いています。たとえば、入力値の横にエラーを表示するフォームがあります。すべてのエラーはcssクラス ".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一定のルックスを次のように:

theActorInTheSpotlight().should( 
    seeThat(FormErrors.displayed(), is(errors)) 
); 
public static final Target FORM_ERRORS = Target.the("Form Errors").locatedBy(".text-danger"); 

だから私はこのような正確なエラーをチェックすることができています

脚本テストを書く良い例は、screenplay-pattern-todomvcプロジェクトです。