python接口自動化-pytest-結(jié)合數(shù)據(jù)驅(qū)動yaml

# -*- 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"""
?著作權(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ù)。

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

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