当断言失败时,Mink WebAssert.textPage上的致命错误

时间:2013-05-30 14:32:33

标签: selenium behat mink

我正在使用Behat\Mink\Driver\Selenium2Driver。这是我的一个功能的@Then函数:

/**
 * @Then /^I should see "([^"]*)"$/
 */
public function iShouldSee($result)
{
    $verification = new WebAssert($this->session);
    try
    {
        $verification->pageTextContains($result);
    }
    catch(ResponseTextException $e)
    {
        printf("something went wrong");
    }
}

如果我编写一个断言应该通过的场景,我没有问题:它运行正常并以junit格式创建输出文件,稍后我将传递给Jenkins。

但是,如果我更改方案以使其失败,则在失败的断言文本后执行会中断,我收到此消息:

Then I should see "my text"        # MyCompany\MyBDDBundle\Features\Context\FeatureContext::iShouldSee()
The text "my text" was not found anywhere in the text of the current page.

PHP Fatal error: Call to a member function text() on a non-object in C:\BitNami\wampstack-5.4.15-0\frameworks\symfony\vendor\behat\mink-selenium2-driver\src\Behat\Mink\Driver\Selenium2Driver.php on line 464

Fatal error: Call to a member function text() on a non-object in C:\BitNami\wampstack-5.4.15-0\frameworks\symfony\vendor\behat\mink-selenium2-driver\src\Behat\Mink\Driver\Selenium2Driver.php on line 464

我一直在寻找Selenium2Driver.php文件,而第464行是在我不使用的函数getText($xpath)内。

最后,在测试被中断的情况下,作为输出创建的junit文件只包含XML标头,尽管有很多传递的方案。

<?xml version="1.0" encoding="UTF-8"?>

为什么在断言通过时测试工作但在失败时崩溃?

0 个答案:

没有答案