我用PHP编写了一个selenium RC测试脚本。如果在页面上找不到元素,我的脚本结束时会出现一些情况。所以,我的问题是,如果它失败了,我们可以重新运行那些脚本吗?
答案 0 :(得分:0)
你真的需要找出第一次测试失败的原因,但假设你使用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;
}
}
//...
}
同样,您真的想调查测试失败的原因,但您提出的问题是可能的!