【发布时间】:2013-06-10 08:18:04
【问题描述】:
我用 PHP 编写了一个 selenium RC 测试脚本。如果在页面上找不到元素,则在某些情况下我的脚本会结束。那么,我的问题是,如果脚本失败,我们可以重新运行该脚本吗?
【问题讨论】:
标签: testing selenium selenium-webdriver selenium-rc
我用 PHP 编写了一个 selenium RC 测试脚本。如果在页面上找不到元素,则在某些情况下我的脚本会结束。那么,我的问题是,如果脚本失败,我们可以重新运行该脚本吗?
【问题讨论】:
标签: testing selenium selenium-webdriver selenium-rc
您确实需要找出第一次测试失败的原因,但假设您使用 PHPUnit 来运行测试,那么技术上是可行的...
首先,phpunit 有一个 --repeat 选项,
或者第二个...
在测试用例中,可以使用 ->onNotSuccessfulTest() 调用 ->runBare() 重新运行测试,如下所示:
class yourTestCase extends \PHPUnit_Extensions_Selenium2TestCase
{
// ...
static public $retryCount = 0;
public function onNotSuccessfulTest(\Exception $e)
{
// Rethrow tests which failed due to being marked as skipped or incomplete
if ($e instanceof /* Put skipped or Incomplete classes here */) {
throw $e;
}
if (self::$retryCount < 3) {
self::$retryCount++;
return $this->runBare();
} else {
self::$retryCount = 0;
throw $e;
}
}
//...
}
同样,您确实想调查测试失败的原因,但您提出的问题是可能的!
【讨论】: