首页 > 解决方案 > 出现错误:在 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();
      }
    });
  });

标签: javascriptnode.jsseleniummocha.jschai

解决方案


您收到此错误消息的原因是您没有将任何参数放入reject().

如果您将其更改为 eg reject(new Error('text does not match \"Invalid email or password\"'));,您应该会看到该错误消息。


推荐阅读