# -*- coding: utf-8 -*-
# @Time : 2023/6/13 19:44
# @Author : yanfa
# @user : yanfa
# @File : pytest_for_yaml.py
# @remark: pytest結(jié)合數(shù)據(jù)驅(qū)動
""""""
"""一、什么是數(shù)據(jù)驅(qū)動?
數(shù)據(jù)驅(qū)動是數(shù)據(jù)的改變而驅(qū)動自動化測試的執(zhí)行,最終引起測試結(jié)果的改變,簡單來說就是參數(shù)化的應(yīng)用。
數(shù)據(jù)量小的測試用例可以使用代碼的參數(shù)化來實(shí)現(xiàn)數(shù)據(jù)驅(qū)動,數(shù)據(jù)量大的情況下建議使用結(jié)構(gòu)化文件,如yaml/json/csv/excel對數(shù)據(jù)
進(jìn)行存儲,然后在測試用例中讀取這些數(shù)據(jù)。
應(yīng)用:
1、app/web/接口自動化測試
2、測試步驟的數(shù)據(jù)驅(qū)動
3、測試數(shù)據(jù)的數(shù)據(jù)驅(qū)動
4、配置的數(shù)據(jù)驅(qū)動"""
import datetime
import yaml
"""二、yaml文件介紹
對象:鍵值對的集合,用冒號:表示
數(shù)組:一組按次序排列的值,前面加-
純量:單個的,不可再分的值
字符串、布爾值、整型、浮點(diǎn)型、Null、時間、日期
見myyaml.yml
"""
"""三、yaml文件的使用
查看yaml文件:pycharm/txt記事本
讀寫yaml文件:
安裝:pip install pyyaml
導(dǎo)入:import yaml
寫入方法:yaml.dump(f)
讀取方法:yaml.load(f)
"""
# 1、寫入示例
myjson={'languages': ['Php', 'Java', 'Go'], 'book': {'python人們': {'price': 25.5, 'author': 'lily', 'available': True, 'repertory': 20, 'data': datetime.date(2018, 7, 27)}, 'java入門': {'price': 30, 'author': 'lily', 'available': False, 'repertory': None, 'data': datetime.date(2018, 5, 20)}}}
with open('./my.yaml','w',encoding='utf-8') as f:
yaml.dump(myjson,f,allow_unicode=True) #allow_unicode防止中文亂碼
# 2、讀取示例
file_path = "./my.yaml"
with open(file_path, 'r', encoding='utf-8') as f:
data = yaml.safe_load(f)
print(data)
"""四、工程目錄結(jié)構(gòu)
data:存放yaml數(shù)據(jù)文件
func: 存放被測函數(shù)
testcase: 測試用例
測試準(zhǔn)備:
被測對象:opertion.py
測試用例:test_add.py
測試數(shù)據(jù):data.yaml"""
python接口自動化-pytest-結(jié)合數(shù)據(jù)驅(qū)動yaml
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 一、Pytest 介紹 1、基于 python 的單元測試框架 主流的接口測試框架有: python:pytest...
- 數(shù)據(jù)驅(qū)動:pytest.mark.parametrize() 首先看個樣本: 上面的測試數(shù)據(jù)都是死的,項(xiàng)目中很少把...
- 在python+unittest+selenium+ddt的框架中,數(shù)據(jù)驅(qū)動常見有以下幾種方式實(shí)現(xiàn): Csv/tx...
- 參數(shù)化,就是把測試過程中的數(shù)據(jù)提取出來,通過參數(shù)傳遞不同的數(shù)據(jù)來驅(qū)動用例運(yùn)行。其實(shí)也就是數(shù)據(jù)驅(qū)動的概念。 在 Un...