Selenium PHPUnit - 无法在页面上找到文本

时间:2015-12-14 07:59:13

标签: php selenium phpunit

关于硒PHPUnit存在问题。

PHPUnit version: 3.7.21
OS: Windows7
Selenium Server: selenium-server-standalone-2.48.2

我遇到了一个非常奇怪的情况,我在页面上有一个文本,并且只在该页面上使用assertTextPresent()功能。但它不断失败。

之前我想过,可能是因为页面未正确加载。所以我只是使用pause()来加载页面。现在我能够看到页面上的文字。

我还拍摄了截图,在该截图中我也能看到该模式。

但是有一些错误,这个功能无法在页面中找到文本。

任何帮助将不胜感激。

感谢。

3 个答案:

答案 0 :(得分:0)

您能举一个更具体的例子说明您正在执行的步骤以及您正在使用的参数吗?无论如何,你可以等待一个元素出现在页面上,如下所示:

for ($second = 0; ; $second++) {
    if ($second >= 30) $this->fail("\n Text not found");
    try {
        if ($this->isTextPresent("$value")) break;
    }
    catch (Exception $e) {
    }
    sleep(1);
}

其中$ value是您要查找的文本,$ locator是您希望查找文本的路径。或者(如果你不关心文本需要的位置):

print_r($_SERVER);

答案 1 :(得分:0)

您可以将此代码用作解决方法

$txt = $this->byXPath("insert-xpath-of-text-here")->text();
$this->assertTrue($txt,"text-to-be-found","some-random-error-message-here");

$this->assertTrue($this->byXPath("insert-xpath-of-text-here")->text(),"text-to-be-found","some-random-error-message-here");

我认为指出要找到的文本的定位器可能会解决问题

答案 2 :(得分:0)

$这 - > waitForPageLoad(1000); 您正在使用此方法 assertElementExistsWithText_W();