【问题标题】:Replacing of TestCafe async / await with promises用 Promise 替换 TestCafe async / await
【发布时间】:2019-05-02 12:24:04
【问题描述】:

出于某些原因,我试图用 Promises 替换 TestCafe Async / Await。下面是我使用 Promise 代替 await 的代码块。

但出现如下错误:未等待对异步函数的调用。在动作、断言或它们的链之前使用“await”关键字 以确保它们以正确的顺序运行。

【问题讨论】:

  • 这意味着你的测试是异步的,但它没有被声明为这样。只需获取official example of an async test 并复制它,否则 testcafe 将无法了解测试是同步还是异步。
  • 尝试返回promise
  • codeexceptions 的图像不是很有帮助。
  • 能否请您解释一下为什么要用 Promises 替换异步函数?
  • 异步函数返回承诺......所以用承诺替换它们是一个非常奇怪的想法。

标签: javascript promise automated-tests e2e-testing testcafe


【解决方案1】:

如果你不想使用async/await,你可以从测试函数中返回一个Promise:

fixture `Example`
    .page `example.com`;

test(`example`, t => {
   let promise = Promise.resolve(t);

   return promise
       .then(result => {
           return result.typeText('...');
       })
       .then(result => {
           return result.click('...');
       });
});

【讨论】:

  • 这个解决方案非常适合我。多谢。 (抱歉延迟回复)。
猜你喜欢
  • 1970-01-01
  • 2020-02-05
  • 2019-06-12
  • 2019-08-11
  • 1970-01-01
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多