我已经过测试,并且想使用if/else
:
public function testLocal() {
$this->browse(function (Browser $browser) {
$browser->visit('')
->type('cro_user_email', '1')
->type('cro_user_password', '1')
->press('LOG IN')
->pause(1500)
->click('div > section.c-clients > div:nth-child(1) > div:nth-child(2) > a')
->click('td.tablesaw-swipe-cellpersist > a');
if ($browser->assertVisible('div > nav > a > i')) {
$browser->click('div > nav > a > i');
} elseif ($browser->assertMissing('div > nav > a > i')) {
$browser->quit();
}
});
}
}
问题是,我的IDE向我显示了此错误:
Facebook\WebDriver\Exception\NoSuchElementException : no such element: Unable to locate element: {"method":"css selector","selector":"body div > nav > a > i"}
我该怎么办?
答案 0 :(得分:0)
您的问题在if条件之内:
if ($browser->assertVisible('div > nav > a > i')) {
代码$browser->assertVisible('div > nav > a > i')
不会返回true / false,而是返回true或引发异常。
代替if / else使用如下异常处理:
try {
$browser->assertVisible('div > nav > a > i');
} catch (\Facebook\WebDriver\Exception\NoSuchElementException $exception) {
$browser->assertMissing('div > nav > a > i');
}
$browser->quit();