我在Cypress try 条件测试

cy.get("body").then(($body) => {
    if ($body.find("element1").length > 0,  {timeout: 10000}) {
        cy.get("element1").should("be.visible")
    } else {         
        cy.get("element2").should('be.visible').within(() => {
            //do this and that
        })
    }
});

这里的问题是,如果找不到Element1,测试就不会继续进行.我try 了不同的方法,但都没有奏效.第一部分或第二部分都可以,但永远不能两个都行.可能出了什么问题?

推荐答案

代码基本上是正确的,只是该表达式没有超时.

cy.get("body").then(($body) => {
  if ($body.find("element1").length > 0) {
    cy.get("element1").should("be.visible")
  } else {         
    cy.get("element2").should('be.visible').within(() => {

    })
  }
})

$body.find("element1")是一个jQuery表达式,而不是一个Cypress命令,因此您不能将timeout选项与它一起使用.

Javascript相关问答推荐

Google图表时间轴—更改hAxis文本 colored颜色

WebRTC关闭navigator. getUserMedia正确

康威的生活游戏规则在我的Javascript版本中不起作用.''我做错了什么?

查找最长的子序列-无法重置数组

我创建了一个创建对象的函数,我希望从该函数创建的对象具有唯一的键.我怎么能做到这一点?

rxjs插入延迟数据

用JS从平面文件构建树形 struct 的JSON

如何将zoom 变换应用到我的d3力有向图?

Rxjs流中生成IMMER不能在对象上操作

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

如何防止ionic 输入中的特殊字符.?

传递方法VS泛型对象VS事件特定对象

使用父标签中的Find函数查找元素

在渲染turbo流之后滚动到元素

使用API调用的VUE 3键盘输入同步问题

react 路由如何使用从加载器返回的数据

P5play SecurityError:无法从';窗口';读取命名属性';Add';:阻止具有源的帧访问跨源帧

使用Perl Selify::Remote::Driver执行Java脚本时出错

单击时同时 Select 和展开可访问的行

如何在preLoad()中自定义p5.js默认加载动画?