#php #functional-testing #behat
#php #функциональное тестирование #behat
Вопрос:
Мне было интересно, у меня есть этот HTML :
<li>
<span class="jqTransformRadioWrapper">
<a rel="choices[choices]" class="jqTransformRadio jqTransformChecked" href = "#"></a>
<input type="radio" id="choices_choices_5" value="5" name="choices[choices]" class="jqTransformHidden">
</span>
<label for = "choices_choices_5" style = "cursor: pointer;">My awesome test</label>
</li>
Некоторые из вас могут распознать, что входные данные были преобразованы в JQ
Мне было интересно, как нажать на ярлык с названием «Мой потрясающий тест».
Прямо сейчас, я делаю :
$el = $this->getSession()->getPage()->find('css', 'ul li span.jqTransformRadioWrapper a');
$el->click();
Но он выбирает первый элемент. И я хочу выбрать их по названию (и только) для этого примера это будет «Мой потрясающий тест».
Спасибо
Ответ №1:
Вот ответ :
$this->getSession()->getPage()->find('xpath', '//label[text()="My awesome test"]');
Комментарии:
1. Это приведет к сбою при использовании ZombieJS в качестве драйвера: xpaths для драйвера Zombie не должен содержать символ
"
, иначе сервер выйдет из строя (на <= 1.3.1, я не знаю о 1.4.0 ). Вместо этого используйтеfind('xpath', "//label[text()='My awesome test']");