Ошибка подтверждения xpath с динамическим xpath

Это очень похоже на: добавление переменной php в Xpath
Но немного отличается …

То, что я пытаюсь сделать, это:

$status = "Test!";

//ajax request to update the page

$this->postToPage($status);

//This is the part that is failing..

$this->waitUntil(function ()
{
if ($this->byXPath("//span[contains(text(),'{$status}')]"))
{
return true;
}
return null;
}, 20000);

$elementtext = $this->byXpath("//span[contains(text(),'{$status}')]")->text();

$this->assertEquals($status, $elementtext);

Не удалось утверждать, что две строки равны.
— Ожидается
+++ Actual
@@ @@
-‘Тестовое задание!’
+ ‘Test !.’

Любая идея, почему $ elementtext устанавливается на «Test !.» с точкой на конце? Я зашел в тупик и понятия не имею, почему на земле он добавляет точку.

1

Решение

Я нашел свою проблему.

Это потому, что postToPage () вводит свое содержимое в другой элемент span, и поэтому мой waitUntil () ссылается на это для продолжения, а не на вновь созданный span. мое утверждение также все еще захватывало в отношении postToPage ().

0

Другие решения

Других решений пока нет …