1

我用 PHP 编写了一个 selenium RC 测试脚本。如果在页面上找不到元素,则在某些情况下我的脚本会结束。所以,我的问题是,如果脚本失败,我们可以重新运行该脚本吗?

4

1 回答 1

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;
        }
    }
    //...
}

同样,您确实想调查测试失败的原因,但您提出的问题是可能的!

于 2013-07-11T15:57:16.913 回答