javascript - 出现错误:在 mocha selenium node js 中没有或错误的原因拒绝了承诺
问题描述
我正在使用带有节点 js 的 selenium mocha 进行单元测试,我是新手,我想用拒绝承诺进行测试,但它给了我这个错误:Promise rejected with no or falsy reason
,任何人都可以查看我的代码并帮助我解决这个问题,在这里我已经粘贴了我的整个代码
it('Login', async function () {
this.timeout(200000);
return new Promise(async function (resolve, reject) {
driver = await new Builder().forBrowser('firefox')
.setFirefoxOptions(new firefox.Options().windowSize(screen))
.build();
driver.get('http://localhost:4200/login');
await driver.findElement(By.id('mat-input-0')).sendKeys('root_admin');
await driver.findElement(By.id('mat-input-1')).sendKeys('Admin123');
await driver.sleep(5000);
const button = await driver.findElement(By.className('mt-3'));
await button.click();
await driver.sleep(2000);
await driver.quit();
let text = "sdsdsds"
if (text == "Invalid email or password") {
resolve(true);
} else {
reject();
}
});
});
解决方案
您收到此错误消息的原因是您没有将任何参数放入reject()
.
如果您将其更改为 eg reject(new Error('text does not match \"Invalid email or password\"'));
,您应该会看到该错误消息。
推荐阅读
- webdriver - 如何在 C# 中运行 Selenium Brave Web 浏览器 webdriver?
- javascript - 我们可以在特定函数中加载外部 Javascript
- tesseract - Tesseract 无法识别数字,即使重新缩放、char white_listing 和过滤
- c - 如何在C中的系统函数中给出脚本的相对路径?
- ios - 当用户杀死 iOS 应用程序时唤醒应用程序而不使用 VoIP
- asp.net-core - 当实现 Serilog 调试模式不起作用 [.NET Core 3.1]
- python - 获取数据框中列的比例值 - Pandas
- arrays - 在perl中访问数组元素时@和$有什么区别?
- python - 有什么方法可以在数组中重复一个字母吗?
- odoo - Odoo`sudo`正确的日志