Я изучаю Laravel и в настоящее время смотрю, как должны быть написаны автоматизированные функциональные тесты. Я использую такие инструменты, как Selenium и Spiderling, где я могу указать, где на странице должен быть найден фрагмент текста.Могут ли тесты содержимого страницы Laravel ограничиваться выражением CSS или XPath?
Например, в паучка, я могу это сделать:
$page = $this->visit(self::DOMAIN . '/browse');
$firstSource = $page->
find('table#reports tbody tr:first-child td:last-child')->
text();
$this->assertEquals('Item 1', $firstSource);
Это довольно четко: текст «Пункт 1» должен быть в первой строке таблицы reports
, в последней ячейке.
Как я понимаю из the docs, чтобы проверить наличие фрагмента текста в Laravel, можно сделать следующее:
$this->
visit('/browse')->
see('Item 1');
Однако, мне это не очень приятно - как я могу защититься от ошибки регрессии что текст правильно, но место размещения неправильно? Я был бы рад использовать здесь CSS или XPath.