如果有很多可用元素,如何使用赛普拉斯单击唯一元素?

时间:2018-09-04 11:37:08

标签: e2e-testing cypress

我试图单击一个唯一元素,但是有很多相同的元素。
我是赛普拉斯的新手。

document.querySelectorAll('md-input-container md-datepicker input')

它有2个元素,我想选择一个元素,
Console image

1 个答案:

答案 0 :(得分:1)

首先,我是否建议您尝试采纳用户的观点。在您的测试案例中,用户将如何知道要单击的元素?是在特定的容器中,还是在感兴趣的项目旁边,还是在项目集合中的特定索引下,...?然后尝试在赛普拉斯中实现相同的逻辑。

逐渐缩小搜索范围的示例:

cy.contains('div', 'content of interest')
  .find('md-input-container md-datepicker input')
  .click();

在集合中的特定索引处获取元素的示例:

cy.get('md-input-container md-datepicker input')
  .eq(1)
  .click();

通过同胞定位的示例:

cy.contains('div', 'element of interest')
  .parent()
  .find('md-input-container md-datepicker input')
  .click();