Laravel dusk if browser->assertSee 然后执行此操作
Laravel dusk if browser->assertSee then do this
有没有办法在 assertSee returns 出现错误的情况下继续进行测试。
这是我当前的代码:
$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].
作为例外。如果它找不到该元素,我可以通过什么方式继续?
您应该能够使用 try catch
捕获异常来实现此目的:
try {
$browser->assertSee("Engineer cannot be found");
} catch(\Exception $e) {
return false;
}
注意,我不知道有没有像$browser->fail()
这样的方法(比如phpunit的$this->fail()
)会让你测试失败。
有没有办法在 assertSee returns 出现错误的情况下继续进行测试。
这是我当前的代码:
$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].
作为例外。如果它找不到该元素,我可以通过什么方式继续?
您应该能够使用 try catch
捕获异常来实现此目的:
try {
$browser->assertSee("Engineer cannot be found");
} catch(\Exception $e) {
return false;
}
注意,我不知道有没有像$browser->fail()
这样的方法(比如phpunit的$this->fail()
)会让你测试失败。