首页 > 解决方案 > 异步等待不等待 cypress 命令运行

问题描述

使用async await我想在赛普拉斯中运行命令之前等待一段时间。但由于某种原因,下面的代码没有等待。有人可以在这里就这个问题提出建议吗?

(async function doWaitForDialogOpen() {
  await new Promise(resolve => setTimeout(resolve, 4000));
   cy.get('#iframeID0').then(($iframe)=>{    
     Cypress.$($iframe).find('html').find('body').find('#someId').find('input').type(100);
   })
  await doWaitForDialogOpen();
 })();

标签: javascriptnode.js

解决方案


赛普拉斯有wait方法,它将等待给定的时间。更多信息在这里

例子:

(async function doWaitForDialogOpen() {
    await cy.wait(4000) // waits 4 seconds
    const $iframe = await cy.get('#iframeID0')
    Cypress.$($iframe)
   .find('html')
   .find('body')
   .find('#someId')
   .find('input')
   .type(100);
  // Do your next steps
 })();


推荐阅读