Для BDD и любых тестов, основанных на сценариях использования, важно иметь возможность сообщать, что делает тест.Проблема многих тестовых наборов состоит в том, что после написания статьи никто точно не знает, что именно делает тест.Это будет происходить очень часто, если вы пишете на неспециализированном языке.Специализация не обязательно означает особый язык, но достаточно абстракции на одном языке, чтобы было ясно, что происходит.
Например, во многих тестах есть код, который выглядит следующим образом (псевдо-код, я не буду выбирать в какой-либо конкретной среде):
object = createBrowser()
response = object.gotoURL( "http://someurl.com" );
element = response.getLink( "Click Here" );
response = element.doClick();
Это сложно для кого-то быстро перевести на бизнес-драйвер (возможно, менеджер по продукту или пользователь).Вместо этого вы хотите создать специализированные функции или язык, если вы любите приключения, поэтому вы можете иметь следующее:
GotoURL http://someurl.com/
Click link:Click Here
Selenium и его макросы или интерфейс все еще находятся на довольно низком уровне в этом отношении.Если вы их используете, то, по крайней мере, создайте вокруг них несколько оболочек.
Конечно, вы также можете использовать продукт под названием TestPlan .Он имеет Selenium в качестве бэк-энда и предоставляет высокоуровневый API и собственный язык для тестирования.Он также выходит за рамки Интернета и включает электронную почту, FTP и т. Д. Примером приведенного выше примера является фрагмент TestPlan