pytest 引數化和allure註解(持續更新)

2021-09-24 15:46:05 字數 1999 閱讀 7098

前提條件:我的用例是寫在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...