11 資料驅動
? ? 資料驅動是測驗框架中一個非常好的功能,使用資料驅動,可以在不增加代碼量的情況下生成不同的測驗策略,下面我們來看看在Cypress中的資料驅動使用方法,
11.1 資料在檔案中
? ? 在前面已經使用很多次,示例如下所示:
[
{
"ID": "Data-1",
"name": "Surpass",
"age": 28
},
{
"ID": "Data-2",
"name": "Kevin",
"age": 29
}
]
? ? 示例代碼如下所示:
/// <reference types="cypress" />
import Data from "./user.json"
describe('資料在檔案中', () => {
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,創建user.json,并添加以下的資料:
[
{
"ID": "Data-1",
"name": "Surpass",
"age": 28
},
{
"ID": "Data-2",
"name": "Kevin",
"age": 29
}
]
- 使用fixture,如下所示:
/// <reference types="cypress" />
describe('資料在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 = https://www.cnblogs.com/surpassme/p/element;
data.forEach(item => {
cy.log(`name is ${item.name},age is ${item.age}`);
});
});
});
});
原文地址:https://www.jianshu.com/p/cc42088f1bef
本文同步在微信訂閱號上發布,如各位小伙伴們喜歡我的文章,也可以關注我的微信訂閱號:woaitest,或掃描下面的二維碼添加關注:

作者: Surpassme
來源: http://www.jianshu.com/u/28161b7c9995/
http://www.cnblogs.com/surpassme/
宣告:本文著作權歸作者所有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出 原文鏈接 ,否則保留追究法律責任的權利,如有問題,可發送郵件 聯系,讓我們尊重原創者著作權,共同營造良好的IT朋友圈,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509680.html
標籤:其他
