數字驅動
數據庫的更改進而推動自動化技術功能測試的落實,最后造成檢測結果的變化。簡單來說就是參數化設計的應用。
檢測推動在功能測試中的運用情景:
測試流程的數字驅動;
測試報告的數字驅動;
配備的數字驅動;
1、pytest融合數字驅動-yaml
完成讀yaml文件,先創建env.yml文件配備測試報告
工程項目目錄結構:
data文件目錄:儲放yaml文件
- dev:127.0.0.1 #dev:127.0.0.2 #prod:127.0.0.3
testcase目錄:存放測試用例文件
import pytest import yaml class TestYaml: pytest.mark.parametrize("env",yaml.safe_load(open("./env.yml"))) def test_yaml(self,env): if"test"in env: print("這是測試環境") #print(env) print("測試環境的ip是:",env["test"]) elif"dev"in env: print("這是開發文件") print("開發環境的ip是:",env["dev"]) #print(env)
結果示例:
2、pytest結合數據驅動-excel
常用的讀取方式有:xlrd、xlwings、pandas、openpyxl
以讀excel文件,實現A+B=C并斷言為例~
工程目錄結構:
data目錄:存放excel數據文件
func目錄:存放被測函數文件
def my_add(x,y): result=x+y return result
testcase目錄:存放測試用例文件
import openpyxl import pytest from test_pytest.read_excel.func.operation import my_add def test_get_excel(): """ 解析excel數據 :return:[[1,1,2],[3,6,9],[100,200,300]] """ book=openpyxl.load_workbook('../data/param.xlsx') sheet=book.active cells=sheet["A1":"C3"] print(cells) values=[] for row in sheet: data=[] for cell in row: data.append(cell.value) values.append(data) print(values) return values class TestWithExcel: pytest.mark.parametrize('x,y,expected',test_get_excel()) def test_add(self,x,y,expected): assert my_add(int(x),int(y))==int(expected)
3、pyetst結合數據驅動-csv
csv:逗號文件,以逗號分隔的string文件
讀取csv數據:
內置函數open()
內置模塊csv
方法:csv.reader(iterable)
參數:iterable,文件或列表對象
返回:迭代器,遍歷迭代器,每次會返回一行數據
以讀csv文件,實現A+B=C并斷言為例~
工程目錄結構:
data目錄:存放csv數據文件
func目錄:存放被測函數文件
def my_add(x,y): result=x+y return result
testcase目錄:存放測試用例文件
import csv import pytest from test_pytest.read_csv.func.operation import my_add def test_get_csv(): """ 解析csv文件 :return: """ with open('../data/params.csv')as file: raw=csv.reader(file) data=[] for line in raw: data.append(line) print(data) return data class TestWithCsv: pytest.mark.parametrize('x,y,expected',test_get_csv()) def test_add(self,x,y,expected): assert my_add(int(x),int(y))==int(expected)
4、pytest結合數據驅動-json
json:js對象,是一種輕量級的數據交換格式。
json結構:
對象{"key":value}
數組[value1,value2...]
查看json文件:
1.pycharm
2.txt記事本
讀取json文件:
內置函數open()
內置庫json
方法json.loads()json.dumps()
以讀json文件,實現A+B=C并斷言為例~
工程目錄結構:
data目錄:存放json數據文件
func目錄:存放被測函數文件
def my_add(x,y): result=x+y return result
testcase目錄:存放測試用例文件
import json import pytest from test_pytest.read_json.func.operation import my_add def test_get_json(): """ 解析json數據 :return:[[1,1,2],[3,6,9],[100,200,300]] """ with open('../data/params.json','r')as file: data=json.loads(file.read()) print(list(data.values())) return list(data.values()) class TestWithJson: pytest.mark.parametrize('x,y,expected',test_get_json()) def test_add(self,x,y,expected): assert my_add(int(x),int(y))==int(expected)
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129050.html
摘要:前端自動化測試百度搜索功能實戰可以與結合生成測試報告。以網頁版本的百度為例,百度首頁呈現的功能新聞網頁貼吧知道音樂圖片視頻地圖等,我們以百度網頁的搜索功能為例,使用結合自動化測試框架,完成一個搜索功能的測試。 ...
摘要:在測試行業,如果利用作為腳本語言開發自動化測試用例,可用的框架有等主流可供選擇,個人感覺較之和應該算是現階段最靈活,功能最全面,擴展最豐富的框架了。不知道各位在做自動化的時候有沒有遇到過用例數過多,單機執行效率不高的困擾。 在測試行業,如果利用python作為腳本語言開發自動化測試用例,可用...
小編寫這篇文章的主要目的,就是教給大家,如何使用Django+Pytest,并用Django+Pytest搭建在線自動化測試平臺,具體怎么做呢?下面給大家做一個詳細的解答。 一、測試平臺: 解決分散用例執行方式,提供統一測試用例執行過程、用例管理、測試報告 主要是基于: fastapi+vue.js django+vue.js django 二、搭建過程 2.1使用django...
摘要:必然的,他們會拋棄標準庫中的,使用或者發明自己心儀的單元測試框架。究其原因,一些人會說時間寫代碼都不夠,哪還有空寫單元測試。最后我的個人觀點,單元測試其實還有一個非常重要的作用,就是替代函數文檔注釋。希望從今天起,你的代碼也都有單元測試。 單元測試是每種編程語言必學的課題,是保護開發者的強力護盾,每個程序員都在時間允許的情況下盡可能多的寫單元測試,今天我們不討論其必要性,只拋磚引玉聊一...
摘要:單元測試框架作為的標準庫,是其他單元測試框架的基礎??梢院秃团浜鲜褂镁帉憜卧獪y試。官網地址單元測試覆蓋率工具單元測試中還需要用到代碼覆蓋率工具。代碼覆蓋率統計工具用來發現沒有被測試覆蓋的代碼,完善單元測試的覆蓋率。 在應用程序中,單元是具有一個或多個輸入和單個輸出的軟件中最小可測試部分。單元...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1982·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02