2017-01-21 3 views
0

После поиска в течение нескольких часов, я должен спросить ...Serenity-BDD: Сценарий: Как найти строку текста в любом месте на странице (в любом элементе)

Я хочу быть найти строку текста на странице. В частности, я ищу, чтобы убедиться, что правильные ошибки отображаются на основе представления формы пользователя. Учитывая, что может быть несколько сообщений и веб-приложение, с которым я имею дело, если бы я мог захватить каждый элемент в список, я думаю, что мог бы перебирать список и сопоставлять строки.

Serenity-BDD для меня новенький, и я копаю сценарий (и мой босс любит отчеты), но мне трудно обернуть голову вокруг некоторых из них (и хороших примеров прохождения немного) , Кроме того, у меня очень мало опыта с Selenium.

Если кто-нибудь может помочь или указать мне какую-либо информацию (помимо онлайн-руководства 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(); 
} 
} 

The 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.

Смежные вопросы