使用 cypress returns 获取数组的索引,取而代之的是“-1”
Getting index of an array with cypress returns a "-1" instead
我正在尝试获取 table 的 header 并在 cypress 中放入一个数组,我已成功完成但出于某种原因,当我尝试登录时 [=12] =] 它 returns “-1” 但是当我记录整个数组时 cy.log(tableHeaders)
它 returns 正确的数组并且还尝试在一个单独的“.js”文件中获取数组和索引而不赛普拉斯它运行良好。我做对了吗?谢谢。
let tableHeaders = []
cy.get('.rt-table > .rt-thead > .rt-tr').each((headRow) => {
cy.wrap(headRow).within(() => {
cy.get('.rt-th').each((cellDataHead) => {
cy.log(cellDataHead.text())
tableHeaders.push(cellDataHead.text().trim())
})
})
})
cy.log(tableHeaders) // Returns the whole array
cy.log(tableHeaders.indexOf("Tracking No.")) // returns -1
cy.log(tableHeaders.indexOf("Merchant Name")) // returns -1
由于 JavaScript 异步运行,因此在数组中保存任何内容之前执行以下行。
cy.log(tableHeaders.indexOf("Tracking No."))
cy.log(tableHeaders.indexOf("Merchant Name"))
为了确保一旦你的数据保存在数组中,然后只执行你的 cy.log
语句,你可以使用 then()
.
let tableHeaders = []
cy.get('.rt-table > .rt-thead > .rt-tr').each((headRow) => {
cy.wrap(headRow).within(() => {
cy.get('.rt-th').each((cellDataHead) => {
cy.log(cellDataHead.text())
tableHeaders.push(cellDataHead.text().trim())
})
})
}).then(() => {
cy.log(tableHeaders)
cy.log(tableHeaders.indexOf("Tracking No."))
cy.log(tableHeaders.indexOf("Merchant Name"))
})
我正在尝试获取 table 的 header 并在 cypress 中放入一个数组,我已成功完成但出于某种原因,当我尝试登录时 [=12] =] 它 returns “-1” 但是当我记录整个数组时 cy.log(tableHeaders)
它 returns 正确的数组并且还尝试在一个单独的“.js”文件中获取数组和索引而不赛普拉斯它运行良好。我做对了吗?谢谢。
let tableHeaders = []
cy.get('.rt-table > .rt-thead > .rt-tr').each((headRow) => {
cy.wrap(headRow).within(() => {
cy.get('.rt-th').each((cellDataHead) => {
cy.log(cellDataHead.text())
tableHeaders.push(cellDataHead.text().trim())
})
})
})
cy.log(tableHeaders) // Returns the whole array
cy.log(tableHeaders.indexOf("Tracking No.")) // returns -1
cy.log(tableHeaders.indexOf("Merchant Name")) // returns -1
由于 JavaScript 异步运行,因此在数组中保存任何内容之前执行以下行。
cy.log(tableHeaders.indexOf("Tracking No."))
cy.log(tableHeaders.indexOf("Merchant Name"))
为了确保一旦你的数据保存在数组中,然后只执行你的 cy.log
语句,你可以使用 then()
.
let tableHeaders = []
cy.get('.rt-table > .rt-thead > .rt-tr').each((headRow) => {
cy.wrap(headRow).within(() => {
cy.get('.rt-th').each((cellDataHead) => {
cy.log(cellDataHead.text())
tableHeaders.push(cellDataHead.text().trim())
})
})
}).then(() => {
cy.log(tableHeaders)
cy.log(tableHeaders.indexOf("Tracking No."))
cy.log(tableHeaders.indexOf("Merchant Name"))
})