Laravel黄昏如果浏览器->断言然后做

时间:2019-06-04 13:32:46

标签: laravel laravel-dusk

即使assertSee返回错误,有没有办法进行测试。

这是我当前的代码:

$browser->visit('https://urltotest.co.uk/find-an-engineer/')
        ->type("EngineerId", $engineerId)
        ->click('#checkEngineer');

$test = $browser->assertSee("Engineer cannot be found");

我想做的是去

if ($test == false) {
    return false;  
} else {
    return $browser->text('.engineer-search-results-container .search-result .col-md-8 .row .col-xs-10 h3');
}

但是当assertSee失败时,我得到的只是:

Did not see expected text [Engineer cannot be found] within element [body].

作为例外。如果找不到该元素,我可以采取什么方法?

1 个答案:

答案 0 :(得分:2)

您应该可以使用try catch来捕获异常:

try {
    $browser->assertSee("Engineer cannot be found");
} catch(\Exception $e) {
    return false;
}

请注意,我不知道是否存在诸如$browser->fail()之类的方法(例如phpunit的$this->fail()),该方法将使您无法通过测试。