Cypress web自動化16-參數化,數據驅動測試案例


前言

自動化測試里面參數化思想是非常重要的,同一類型的測試,只需維護不同的數據就可以了。
對每組測試數據自動生成對應的測試用例,並且每個測試用例的結果互不影響,不能因為第一個失敗了,后面的用例就不執行了。

自動生成用例

可以使用JavaScript動態生成測試,以下是官方文檔給的案例

describe('if your app uses jQuery', () => {
  ['mouseover', 'mouseout', 'mouseenter', 'mouseleave'].forEach((event) => {
    it('triggers event: ' + event, () => {
      // if your app uses jQuery, then we can trigger a jQuery
      // event that causes the event callback to fire
      cy
        .get('#with-jquery').invoke('trigger', event)
        .get('#messages').should('contain', 'the event ' + event + 'was fired')
    })
  })
})

這段代碼會自動生成4個用例

> if your app uses jQuery
  > triggers event: 'mouseover'
  > triggers event: 'mouseout'
  > triggers event: 'mouseenter'
  > triggers event: 'mousele

測試案例

以百度搜索輸入框為案例,分別輸入 英文,中文,數字三種情況針對輸入框的測試結果

/**
 * Created by dell on 2020/5/13.
 * 作者:上海-悠悠 QQ交流群:939110556
 */


describe('參數化案例,輸入不同的值', function() {
    // 定義測試數據
    var testdatas = ["yoyo", "上海-悠悠", "123456"]
    // 前置-打開瀏覽器
    before(() => {
          cy.visit('https://www.baidu.com')
        })

    // 參數化
    testdatas.forEach((event) => {
        it("百度輸入框功能", function () {
            cy.get('#kw').type(event)
                .should('have.value', event)
                .clear()
                .should('have.value', '')
        })
    })
    })


QQ交流群:939110556


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM