WEB自動化-11-數(shù)據(jù)驅(qū)動

11 數(shù)據(jù)驅(qū)動

? ? 數(shù)據(jù)驅(qū)動是測試框架中一個非常好的功能,使用數(shù)據(jù)驅(qū)動,可以在不增加代碼量的情況下生成不同的測試策略。下面我們來看看在Cypress中的數(shù)據(jù)驅(qū)動使用方法。

11.1 數(shù)據(jù)在文件中

? ? 在前面已經(jīng)使用很多次,示例如下所示:

[
    {
        "ID": "Data-1",
        "name": "Surpass",
        "age": 28
    },
    {
        "ID": "Data-2",
        "name": "Kevin",
        "age": 29
    }
]

? ? 示例代碼如下所示:

/// <reference types="cypress" />

import Data from "./user.json"

describe('數(shù)據(jù)在文件中', () => {
   Data.forEach(item => {
    it(item.ID, () => {
        cy.log(`name is ${item.name},age is ${item.age}`);
    });
   });
});

11.2 使用fixture

? ? Cypress中fixture默認位于cypress\fixtures\example.json文件中。操作步驟如下所示:

  • 在cypress\fixtures\example.json,創(chuàng)建user.json,并添加以下的數(shù)據(jù):
[
    {
        "ID": "Data-1",
        "name": "Surpass",
        "age": 28
    },
    {
        "ID": "Data-2",
        "name": "Kevin",
        "age": 29
    }
]
  • 使用fixture,如下所示:
/// <reference types="cypress" />

describe('數(shù)據(jù)在fixture中', () => {

    it('測試fixture用法-1', () => {
        // 由于使用默認目錄,則路徑可以省略,否則需要添加文件所在路徑
        cy.fixture("user.json", "utf8").as("userData");
        cy.get("@userData").each((item) => {
            cy.log(`name is ${item.name},age is ${item.age}`);
        });
    });

    it('測試fixture用法-2', () => {
        // 由于使用默認目錄,則路徑可以省略,否則需要添加文件所在路徑
        cy.fixture("user.json", "utf8").then((element) => {
            let data = element;
            data.forEach(item => {
                cy.log(`name is ${item.name},age is ${item.age}`);
            });
        });
    });
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容