如何使用赛普拉斯

时间:2018-11-05 11:25:53

标签: javascript cypress

我正在尝试使用赛普拉斯自动化应用程序的基本测试。到目前为止,一切都进行得很顺利(甚至CSRF令牌提取)。虽然选择元素时碰到了墙。

我遇到的情况是,相同的name元素返回多个结果。在这种情况下,以下html返回7个实例。我需要选一个,我该怎么做?

<div class="EventAddButton__hover___11l17" style="opacity: 0; transform: translateY(-55px);">Add an entry</div>

我要运行的Cypress脚本是:

it ('Create an event', function() {
    cy.get('.EventAddButton__hover___11l17').click()
  })

赛普拉斯建议通过开关multiple:true,但我需要单击一下。

也许沿着选择父母的道路走下去?

enter image description here

任何建议将不胜感激!

2 个答案:

答案 0 :(得分:3)

请尝试以下操作:

// This dictionary will have all your events grouped based on the day it belongs to.
let dict = Dictionary(grouping: array) { (element) -> Int in
    return element.day
}

// If you need a sorted list of events based on the day.
let groupedItems = dict.sorted {
    return $0.key < $1.key
}

// groupedItems would now have all the data, grouped and ready to be used.
for day in groupedItems {
    print("\(day.key): \(day.value.count)")
}

注意:请参阅this文档

答案 1 :(得分:2)

如果这些元素有一个父元素,则使它们唯一。你可以

it ('Create an event', function() {
    cy.get('PARENT ELEMENT SELECTOR').get('.EventAddButton__hover___11l17').click()
  })

it ('Create an event', function() {
        cy.get('PARENT ELEMENT SELECTOR').find('.EventAddButton__hover___11l17').click()
      })

或者如果您知道要单击的元素的索引

 it ('Create an event', function() {
        cy.eq(0).get('.EventAddButton__hover___11l17').click()
      })

**如果要按索引进行操作,请选择T GURUNG ..'