使用动态xpath的xpath断言失败

时间:2015-08-13 22:33:35

标签: php xpath selenium-webdriver phpunit assertions

这非常类似于:adding php variable into 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);

断言两个字符串相等无效。 ---期待 +++实际 @@ @@ - '测试'! +'!试验'

任何想法为什么$ elementtext被设置为"测试!。"最后点?我在这里陷入了僵局,不知道为什么它会附加点。

1 个答案:

答案 0 :(得分:0)

我发现了我的问题。

因为postToPage()正在将其内容输入到另一个span元素中,因此,我的waitUntil()引用它继续,而不是新创建的span。我的断言也仍然关注postToPage()。