如何在PHPUnit中使用正则表达式waitForAlertPresent?

时间:2013-03-04 18:02:11

标签: selenium phpunit selenium-ide

我有一个javascript警告,上面写着“该回合已关闭”。或者“回合已关闭。你不能做这个动作。”

我现在在PHPUnit中的代码是:

$this->waitForAlertPresent('The round is closed.');

如果警报是“圆形已关闭”,则测试通过,但如果警报为“圆形已关闭。您无法执行此操作”。它失败了。

是否可以使用waitForAlertPresent的正则表达式?在PHPUnit?

我以为我可以尝试waitForCondition并执行preg_match,但我认为它不起作用,因为它会弹出警报

1 个答案:

答案 0 :(得分:1)

为什么你不知道警报中的文字应该是什么?通常你应该测试你设置的是什么。如果它不相同,则测试失败。

除此之外,还有......

$this->assertEquals('The round is closed.', $this->getAlert());

......应该适合你。你找到SeleniumTestCaseTest了吗?它非常简单地展示了PHPUnit_Selenium的可能性。

根据我自己的经验Selenium2TestCase(使用Selenium webdriver而不是注入javascript)似乎更加一致,或许值得一试。

修改 我对Selenium RC / SeleniumTestCase不太熟悉,但$this->getAlert()应该为您提供警报框的文本。那么它当然就像$this->assertContains("closed", $this->getAlert())一样简单。

但也许最好在更改警报消息时更新测试...