# -*- coding: utf-8 -*-
# @Time : 2023/6/13 19:44
# @Author : yanfa
# @user : yanfa
# @File : pytest_for_yaml.py
# @remark: pytest結合數據驅動
""""""
"""一羞延、什么是數據驅動或粮?
數據驅動是數據的改變而驅動自動化測試的執(zhí)行窟哺,最終引起測試結果的改變可免,簡單來說就是參數化的應用屿笼。
數據量小的測試用例可以使用代碼的參數化來實現數據驅動萍启,數據量大的情況下建議使用結構化文件外里,如yaml/json/csv/excel對數據
進行存儲领铐,然后在測試用例中讀取這些數據。
應用:
1荐糜、app/web/接口自動化測試
2巷怜、測試步驟的數據驅動
3葛超、測試數據的數據驅動
4、配置的數據驅動"""
import datetime
import yaml
"""二延塑、yaml文件介紹
對象:鍵值對的集合绣张,用冒號:表示
數組:一組按次序排列的值,前面加-
純量:單個的关带,不可再分的值
字符串侥涵、布爾值、整型宋雏、浮點型芜飘、Null、時間磨总、日期
見myyaml.yml
"""
"""三嗦明、yaml文件的使用
查看yaml文件:pycharm/txt記事本
讀寫yaml文件:
安裝:pip install pyyaml
導入: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)
"""四娶牌、工程目錄結構
data:存放yaml數據文件
func: 存放被測函數
testcase: 測試用例
測試準備:
被測對象:opertion.py
測試用例:test_add.py
測試數據:data.yaml"""
python接口自動化-pytest-結合數據驅動yaml
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寿羞,“玉大人猖凛,你說我怎么就攤上這事⌒髂拢” “怎么了辨泳?”我有些...
- 正文 為了忘掉前任试溯,我火速辦了婚禮,結果婚禮上郊酒,老公的妹妹穿的比我還像新娘遇绞。我一直安慰自己键袱,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布摹闽。 她就那樣靜靜地躺著蹄咖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪付鹿。 梳的紋絲不亂的頭發(fā)上澜汤,一...
- 文/蒼蘭香墨 我猛地睜開眼烛缔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了轩拨?” 一聲冷哼從身側響起践瓷,我...
- 正文 年R本政府宣布券敌,位于F島的核電站唾戚,受9級特大地震影響,放射性物質發(fā)生泄漏待诅。R本人自食惡果不足惜颈走,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咱士。 院中可真熱鬧立由,春花似錦轧钓、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至道盏,卻和暖如春而柑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荷逞。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 一、Pytest 介紹 1膝迎、基于 python 的單元測試框架 主流的接口測試框架有: python:pytest...
- 數據驅動:pytest.mark.parametrize() 首先看個樣本: 上面的測試數據都是死的粥帚,項目中很少把...
- 在python+unittest+selenium+ddt的框架中,數據驅動常見有以下幾種方式實現: Csv/tx...
- 參數化限次,就是把測試過程中的數據提取出來芒涡,通過參數傳遞不同的數據來驅動用例運行。其實也就是數據驅動的概念卖漫。 在 Un...