laravel - Laravel Dusk 中的意外测试行为
问题描述
我有测试,我想使用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"}
我能做些什么?
解决方案
您的问题在 if 条件内:
if ($browser->assertVisible('div > nav > a > i')) {
代码$browser->assertVisible('div > nav > a > i')
不会返回真/假,而是真或抛出异常。
而不是做 if/else 使用这样的异常处理:
try {
$browser->assertVisible('div > nav > a > i');
} catch (\Facebook\WebDriver\Exception\NoSuchElementException $exception) {
$browser->assertMissing('div > nav > a > i');
}
$browser->quit();
推荐阅读
- c++ - Intellij Rider:如何配置您的运行/调试配置以使用您的 dll 执行另一个应用程序 exe
- javascript - 如何在nodejs socket.io中创建一个cookie
- kotlin - Kotlin synchronized() 不锁定基本类型吗?
- angular - 当表格行的复选框值更改时检索对象
- python - 从 pycaret.classification 导入时出错 *
- r - 如何将具有多个重复列、分组变量和值的电子表格数据转换为长格式?
- python - 如何使用 pytube 获取 youtube 视频描述
- flutter - 高级 PDF 查看器:断言失败:第 4263 行 pos 14:'owner!._debugCurrentBuildTarget == this':不正确
- matlab - 在 Matlab 中拟合自定义方程
- google-chrome - 让 Chrome 在 iframe 中读取跨域 cookie