天天看點

Cypress web自動化5-table表格元素(别名使用Aliasing)

前言

頁面上有些元素定位路徑比較複雜,可以先定位到該元素使用别名,通過這個别名去操作元素,這樣看起來簡潔一些。

.as()使用别名定位元素

table表格上的元素定位使用示例

Column 1Column 2Row 1: Cell 1ChangedRow 1: Cell 2ChangeRow 2: Cell 1ChangeRow 2: Cell 2Change      
Cypress web自動化5-table表格元素(别名使用Aliasing)
// The following DOM command chain is unwieldy.
// To avoid repeating it, let's use `.as()`!
cy.get('.as-table')
  .find('tbody>tr').first()
  .find('td').first()
  .find('button').as('firstBtn')

// To reference the alias we created, we place an
// @ in front of its name
cy.get('@firstBtn').click()

cy.get('@firstBtn')
  .should('have.class', 'btn-success')
  .and('contain', 'Changed')      

.as() 重新命名路由

當點頁面上某個按鈕,發網絡請求的時候,我們可以判斷它的reponse

Cypress web自動化5-table表格元素(别名使用Aliasing)
// Alias the route to wait for its response

cy.server()
cy.route('GET', 'comments/*').as('getComment')

// we have code that gets a comment when
// the button is clicked in scripts.js
cy.get('.network-btn').click()

// https://on.cypress.io/wait
cy.wait('@getComment').its('status').should('eq', 200)      

繼續閱讀