根据Cypress中的布局选择图元

根据Cypress中的布局选择图元,cypress,e2e-testing,playwright,Cypress,E2e Testing,Playwright,我正在寻找一个解决方案,它可以像Playwright中的以下代码一样工作 page.点击('input:right of(:text(“用户名”))); 在Playwright中使用此命令,将单击文本Username右侧的输入元素。我搜索了一会儿,但发现柏树中似乎没有方便的等价物。是否有任何方法可以根据元素的位置关系选择元素?我认为您可以使用 cy.contains('Username') // === :text("Username") .next()

我正在寻找一个解决方案,它可以像Playwright中的以下代码一样工作

page.点击('input:right of(:text(“用户名”)));
在Playwright中使用此命令,将单击文本
Username
右侧的输入元素。我搜索了一会儿,但发现柏树中似乎没有方便的等价物。是否有任何方法可以根据元素的位置关系选择元素?

我认为您可以使用

cy.contains('Username')    // === :text("Username")
  .next()                  // === :right-of(<previous subject>)
  .click()
我没有用过,但从语义上看,这似乎是你的目标。如果相对位置在移动模式下发生变化(例如上面的标签),则该功能将非常有用


不久前,我实现了自定义命令来断言元素的相对位置,因为我们得到了很多CSS回归,但这相当复杂。

谢谢!但是,是的,在我的用例中,我需要根据DOM的位置关系来获取DOM,其中许多不是兄弟姐妹。。。
cy.findByLabelText('Username').type('myname')