這是我們寫的測試用例:
這裡主要關注第七列,假設已經拿到了其它引數傳送請求出去,根據響應內容獲取到響應訊息體的retcode,與表中的code進行斷言判斷通過與否(比如0通過,2不通過)
以下是**實現:
1或者使用引數化:import
pytest
2import
xlrd
3import
json45
6 lines = # 建立空表用來存excel每一行內容
7 worksheet = xlrd.open_workbook('
../data/教管系統-測試用例v1.2.xls
').sheet_by_index(2)
8 rows =worksheet.nrows # 獲取行數
9for i in range(1, rows):
10 line =worksheet.row_values(i)
1112
1314 @pytest.fixture(params=lines) # pytest工廠函式,預設方法級別
15def
init_x(request):
16return
request.param # 固定格式,每一次取出params的乙個元素
1718
19class
test_x:
20def
test_x(self, init_x):
21 code = json.loads(init_x[6]) # 把第七列內容json格式的字串轉成字典格式
22 code = code['
code
'] # 拿到code的值
23assert code != 0 # 斷言是否通過
1執行結果:import
pytest
2import
xlrd
3import
json45
6def
get_data():
7 lines =
8 worksheet = xlrd.open_workbook('
../data/教管系統-測試用例v1.2.xls
').sheet_by_index(2)
9 rows =worksheet.nrows
10for i in range(1, rows):
11 line =worksheet.row_values(i)
1213
return
lines
1415
16class
test_x:
17 @pytest.mark.parametrize("
code
", get_data()) # pytest引數化裝飾器,第乙個引數寫自定義的引數名,第二個引數傳取到的資料
18def
test_x(self, code): # 上面的引數名是什麼,這裡也要寫什麼
19 retcode = json.loads(code[6])
20 retcode = retcode['
code']
21assert retcode != 0
共45個測試,顯示34個通過11個不通過,不通過的原因也能看到:0 != 0。
當然,實際的介面測試並不是規定0代表通過,2代表不通過,而是根據實際響應得到的retcode與code是否相等來判斷。
這裡只是簡單的實踐一下,肯定有更好的實現方式。
結合spring配置JNDI的測試用例
最近用到jndi,並且在spring中進行配置,可是由於各種條件限制,需要在測試各種資料後發現想要在spring中實現並不太容易,參考網上的資料總結出兩種方式,為自己做備份,也為他人做參考,少走彎路 1.通過initialcontext,context.lookup test 實現,缺點不能 全部自...
根據yaml測試用例自動生成py檔案
一 目前使用的介面自動化框架在編寫測試用例時,需要編寫yaml檔案,然後在寫對應的指令碼檔案,每個介面的 py檔案,大同小異,在前面幾天的編寫的過程中,感覺很繁瑣 於是就產生了能不能根據編寫完畢的 yaml 檔案自動生成 py檔案的想法,經過一番功夫,終於搞定,說明如下 二 根據固定格式編寫yaml...
測試用例(四)測試用例編寫
一.測試用例編寫方法 1.等價類劃分 如何選擇適當的資料子集,來代表整個資料集。通過降低測試的資料去實現 合理的 覆蓋,覆蓋了更多的可能資料,以發現更多的軟體缺陷 邊界值分析法 2.邊界值分析 使用邊界值分析方法設計測試用例時一般與等價類劃分結合起來,但它不是從乙個等價類中任選乙個例子作為代表,而是...