本篇文章主要總結在使用httprunner框架做接口自動化測試過程中遇到的問題
官方的問題總結:https://github.com/httprunner/httprunner/issues
1.在參數化過程中讀取CSV文件,不能讀取出整型來。
讀取下方文件數據,全部是字符串格式
原因:csv 格式本身是不支持配置數據類型的。它本身就不具備這個能力。
解決:暫定的解決方式是暫時不用它自帶${P()}函數進行參數化,寫一個自定義函數,同樣去讀取CSV文件,但是讀取出來之后將需要的int類型數據進行轉換格式,將讀取到的字符串轉換成int類型;
def parameters_csv(csv_path): data_list = [] with open(csv_path,'r',encoding='utf8')as fp: for i in csv.DictReader(fp): # 通過DictReader 方式讀取CSV文件,這是參數化規定的格式 i['status'] = int(i['status']) # 轉換數據類型,在這個接口中我需要的只是status是int類型 data_list.append(i) # 最后需要將數據加入列表中返回 return data_list
2.生成的測試報告中斷言區域預期結果不顯示數據。
解決:
修改測試報告模板,模板位置:httprunner/statictemplate.html
將304行位置替換成:<td>{{validator.expect_value | e}}</td>
在次運行結果改變