PHP WebDriver断言条件?

时间:2014-11-04 17:58:40

标签: php selenium-webdriver

我使用PHP WebDriver和Selenium创建了一个测试。现在我想确保元素中包含某个文本。我怎么做?我试过了:

$web_driver->wait(3)->until(
  WebDriverExpectedCondition::textToBePresentInElement(WebDriverBy::cssSelector('.cart-price span.price'), '55,00 €')
  );

但是这总是以TimeoutException结束。没有办法真正使用这样的东西:

assertTrue(WebDriverExpectedCondition::textToBePresentInElement(WebDriverBy::cssSelector('.cart-price span.price'), '55,00 €'))

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

$web_driver->wait(3)->until(
    WebDriverExpectedCondition::textToBePresentInElement(
      WebDriverBy::cssSelector('.cart-price span.price'), '55,00 €'
    )
);

对我来说已经是assertTrue了。如果它在3秒内找不到包含特定文本的元素,则抛出TimeoutException

如果您在浏览器上看到文本,可能会发现WebDriverBy找不到任何元素,或者有多个元素且驱动程序正在获取与{{1}匹配的另一个元素}。

答案 1 :(得分:-1)

如果您使用的是PHP,则可能需要更改

max_execution_time

在PHP.ini文件中。

这设置了PHP脚本可以运行的秒数。