Я пишу тестовый пример Selenium в PHPUnit, используя расширение Selenium. В тесте я утверждаю, что на странице присутствует определенная ссылка.
Например, скажем, я хочу утверждать, что на странице существует следующая ссылка:
<a href="http://www.stackoverflow.com">click here to enter stackoverflow</a>
Чтобы подтвердить, что ссылка есть, мне нужно ее идентифицировать. Обычно мы идентифицируем ссылки, используя их якорный текст: assertElementPresent("link=click here to enter stackoverflow")
.
Я не хочу идентифицировать ссылку, используя весь текст привязки, а просто подстроку «stackoverflow», которая содержит текст привязки. Я могу использовать glob и звездный оператор, чтобы сделать это: assertElementPresent("link=glob:*stackoverflow*")
Это прекрасно работает в IDE Селена, но при кодировании эквивалента в PHPUnit утверждение не выполняется. Вот эквивалентная строка кода в PHPUnit:
$this->assertTrue(isElementPresent("link=glob:*stackoverflow*"));
Приведенное выше утверждение не выполняется, поскольку элемент link=glob:*stackoverflow*
не идентифицирован. Элемент должен быть идентифицирован, так как на странице существует ссылка, в тексте привязки которой содержится строка «stackoverflow».
Мой вопрос более общий, чем простой пример, который я привел: Как я могу использовать glob для идентификации элементов в расширении Selenium для PHPUnit?