前提條件:我的用例是寫在xlsx裡面的。(介面和測試讀取方法一樣)
首先,讀取xlsx用例檔案
import xlrd,json
def getcase(filepath,index):
try:
file = xlrd.open_workbook(filepath)
me = file.sheets()[index]
nrows = me.nrows
listdata =
for i in range(1, nrows):
dict_canshu = {}
if me.cell(i, 1).value=='y':
dict_canshu['id'] = me.cell(i, 0).value
dict_canshu.setdefault('active',me.cell(i, 1).value)
dict_canshu.setdefault('apiname', me.cell(i, 2).value)
dict_canshu.setdefault('apihost',me.cell(i,3).value)
dict_canshu.setdefault('url',me.cell(i, 4).value)
dict_canshu.setdefault('method', me.cell(i, 5).value)
dict_canshu.setdefault('redata', me.cell(i, 6).value)
dict_canshu.setdefault('assert', me.cell(i, 7).value)
dict_canshu.setdefault('sql', me.cell(i, 8).value)
dict_canshu.setdefault('desc', me.cell(i, 9).value)
return listdata
except exception as e:
log.error('獲取測試用例資料失敗,原因:%s'%e)
進入正題
print('請求引數:', cls.req)
print('響應結果:', cls.result)
cls.j=json.loads(cls.result)
cls.code=cls.j['statuscode']
assert cls.code==200有不明白的,**qq 833077481交流
Pytest框架引數化
本文主要介紹第二種引數化方式 pytest.mark.parametrize 引數名稱 lists or tuple or set 傳入單個引數。引數名稱僅作為引數名稱,便於記憶,可隨意起。引數不管是lists或是tuple型別都可以執行成功,另外集合型別set 順便試了一下也是成功的不過沒有特殊研...
pytest 之 fixture引數化
pytest 之 fixture引數化 前面通過unittest框架介紹了ui自動化po模式,basepage封裝後,unittest框架搭建的ui自動化框架,基本就成型了。前面的幾篇pytest文章,也簡要介紹了pytest和unittest框架的相同與不同之處。將unittest框架替換為pyt...
pytest 引數化昇華版
裝飾類,則類中所有的測試用例都是用這組引數 裝飾測試函式,只有被裝飾的函式使用這組引數 import pytest test datas 11,22,33 22,33,55 datas dict 方式一 直接寫 pytest.mark.parametrize a,b,c 1,2,3 4,5,9 de...