日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python接口自動化框架實戰

瀏覽:32日期:2022-07-01 14:04:27

python接口測試的原理,就不解釋了,百度一大堆。

先看目錄,可能這個框架比較簡單,但是麻雀雖小五臟俱全。

python接口自動化框架實戰

各個文件夾下的文件如下:

python接口自動化框架實戰

一.理清思路

我這個自動化框架要實現什么

1.從excel里面提取測試用例

2.測試報告的輸出,并且測試報告得包括執行的測試用例的數量、成功的數量、失敗的數量以及哪條成功了,失敗的是哪一個,失敗的原因是什么;測試結果的總體情況通過圖表來表示。

3.測試報告用什么形式輸出,excel,還是html,還是其他的,這里我選擇了excel

4.配置文件需要配置什么東西

5.哪些東西可以放入公共函數直接調用。

好的這些思路理清楚之后就可以動手了。

二.首先是配置文件和excel測試用例的設計

數據與代碼分離,也就是數據性的需要作為配置文件可以隨時修改。如:接口url,網站登錄權限驗證信息,數據庫信息。全部存入config文件夾下

下面是具體的配置文件信息:

API_url.txt

inserthouse=http://IP:port/scp-mdmapp/house/insertHousedeletehouse=http://IP:port/scp-mdmapp/house/deleteHousebatchdeletehouse=http://IP:port/scp-mdmapp/house/batchdeleteHousegethouse=http://IP:port/scp-mdmapp/house/getHouseupdatehouse=http://IP:port/scp-mdmapp/house/updateHouse

Authorization.txt

joxNTIxMTg3MTA3fQ.JyeCMMsM0tOr7exORUNpkZ-FtprjpNBhMtFjUAdnYDnhRfaR6qi3fqVkybyb245zONiTxLOw8jBR60oNUVEbKx9_cut6uDIZMUFYOx6hyyBkY9IXJlutYdo4sSMAKF_MjKsZY7bZNXLHzN0juiezn6iN0hbnbhS-Kv2LYLLZLTs

我的測試用例的設計如下:

notes是測試用例摘要。

python接口自動化框架實戰

三.公共函數存在common文件夾下

get_authorization.py

#從配置文件獲取訪問權限信息def get_Authorization():fp = open(’D:personlearnpyHDapiconfigAuthorization.txt’)info = fp.read()fp.close()return info

public.py

import os,xlrd,xlwt,time #通過配置文件里的接口名稱來獲取接口url的函數def get_url(api_name):fp = open(’D:personlearnpyHDapiconfigAPI_url.txt’)#按行讀取接口url配置文件api_infos = fp.readlines()fp.close()#通過for循環來遍歷配置文件里的每一個url,并且返回傳入的接口名稱相應的urlfor api in api_infos:#去除因為讀取產生的換行空格等api_f = api.strip(’ rnt’)api_c = api_f.split(’=’)if api_name == api_c[0]:return api_c[1] #通過傳入用例名稱的文件和excel頁面來讀取測試用例def get_case(filename,sheetnum):case_dir=’D:personlearnpyHDapitestcase_excel’ + ’’ + filename + ’.xlsx’ datas = xlrd.open_workbook(case_dir)table = datas.sheets()[sheetnum]nor = table.nrowsnol = table.ncolsreturn nor,table #通過xlwt庫來設計測試報告并寫入excel里面def write_report():workbook = xlwt.Workbook(encoding=’utf-8’)#在excel測試報告表格中創建名叫housemanage的頁面worksheet = workbook.add_sheet(’housemanage’)#設置字體格式為居中對齊alignment = xlwt.Alignment()alignment.horz = alignment.HORZ_CENTERalignment.vert = alignment.VERT_CENTERstyle = xlwt.XFStyle()style.alignment = alignment#具體的合并哪些單元格并且寫入相應的信息worksheet.write_merge(0,0,0,7,’測試報告(housemanage)’,style)worksheet.write_merge(1,10,0,0,’house_manage’,style)worksheet.write_merge(1,2,1,1,’insethouse’,style)worksheet.write_merge(3,4,1,1,’updatehouse’,style)worksheet.write_merge(5,6,1,1,’deletehouse’,style)worksheet.write_merge(7,8,1,1,’gethouse’,style)worksheet.write_merge(9,10,1,1,’updatehouse’,style)worksheet.write_merge(1,2,11,11,’total_result’,style)worksheet.write(1,2,’notes’)worksheet.write(2,2,’detail’)worksheet.write(3,2,’notes’)worksheet.write(4,2,’detail’)worksheet.write(5,2,’notes’)worksheet.write(6,2,’detail’)worksheet.write(7,2,’notes’)worksheet.write(8,2,’detail’)worksheet.write(9,2,’notes’)worksheet.write(10,2,’detail’)worksheet.write(1,12,’pass’)worksheet.write(1,13,’faild’)#最后返回worksheet,workbook兩個參數,因為在測試測試用例和運行文件中需要用到的兩個參數return worksheet,workbook四.測試用例的編寫

test_inserthouse.py

import requests,unittest,os,time,jsonfrom common import public,get_authorization #房屋添加用例,通過傳入public里wirte_sheet函數返回的參數wooksheet,將用例的執行結果寫入到測試報告中def test_inserthouses(worksheet,workbook):url = public.get_url(’inserthouse’)nor,table = public.get_case(’house’,0)Authorization = get_authorization.get_Authorization()a = 2xu = 0yu = 0#用for循環來實現遍歷一個excel頁面的所有測試用例for i in range(1,nor):#獲取excel表格里面需要給接口傳入的參數houseNum = table.cell_value(i,0)orgUuid = table.cell_value(i,1)floor = table.cell_value(i,2)houseUseFor = table.cell_value(i,3)residentNum = table.cell_value(i,4)emergencyPhone = table.cell_value(i,5)expect_code = table.cell_value(i,6)expect_message = table.cell_value(i,7)notes = table.cell_value(i,8)payment = table.cell_value(i,11)#接口body需要傳入的參數data = {’houseNum’:houseNum,’houseUseFor’:houseUseFor,’orgUuid’:orgUuid,’residentNum’:residentNum,’floor’:floor,’emergencyPhone’:emergencyPhone,’payment’:payment} #請求頭,網站加了登陸驗證之后需要在請求頭傳入Authorization參數headers={’Accept’:’application/json’,’Content-Type’:’application/json’,’Authorization’:Authorization}a+=1worksheet.write(1,a,notes) data = json.dumps(data) r = requests.post(url,data=data,headers=headers)#將字符串格式轉換為字典b = eval(r.text)m = b.get(’code’)n = b.get(’message’)k = b.get(’data’)#判斷接口測試通過與否if m==expect_code and n==expect_message:worksheet.write(2,a,’pass’)xu += 1else:worksheet.write(2,a,’faild:%s’%k)yu += 1#測試用例執行完后,返回用例成功與失敗的數量return xu,yu

test_updatehouse.py

import requests,unittest,os,time,jsonfrom common import public,get_authorization #房屋編輯測試用例def test_updatehouses(worksheet,workbook):nor,table = public.get_case(’house’,4)Authorization = get_authorization.get_Authorization()url = public.get_url(’updatehouse’)a = 2x = 0y = 0for i in range(1,nor):houseNum = table.cell_value(i,0)orgUuid = table.cell_value(i,1)uuid = table.cell_value(i,2)houseUseFor = table.cell_value(i,3)residentNum = table.cell_value(i,4)emergencyPhone = table.cell_value(i,5)expect_code = table.cell_value(i,6)expect_message = table.cell_value(i,7)notes = table.cell_value(i,8)floor = table.cell_value(i,9)payment = table.cell_value(i,11) data = {’houseNum’:houseNum,’houseUseFor’:houseUseFor,’orgUuid’:orgUuid,’floor’:floor,’residentNum’:residentNum,’uuid’:uuid,’emergencyPhone’:emergencyPhone,’payment’:payment} headers={’Accept’:’application/json’,’Content-Type’:’application/json’,’Authorization’:Authorization} a+=1worksheet.write(3,a,notes) data = json.dumps(data) r = requests.post(url,data=data,headers=headers)b = eval(r.text)m = b.get(’code’)n = b.get(’message’)k = b.get(’data’)if m==expect_code and n==expect_message:worksheet.write(4,a,’pass’)x += 1else:worksheet.write(4,a,’faild:%s’%k)y += 1return x,y五.通過對公共函數、測試用例的設計聯合的思考應該在執行文件里面做什么,實現什么。

本來我想將執行文件單獨放置于HDapi-auto-test的根文件下的,可是將測試通過與不通過的數量寫入到測試報告里面,就必須要調用公共函數的方法,由于放置在根文件夾下與公共函數隔了一個文件夾無法調用( 本鳥不會調用),所以不得不將執行文件放置于測試用例文件夾下了,好在文件名還是比較好區分也比較好尋找,另外我還想加上自動發送郵件的功能,這里不寫了,其實發送郵件很簡單隨便找幾個例子就OK了,ps:代碼比較low,都沒有封裝,直接暴力簡單執行。代碼如下:

from common import publicimport test_inserthouse,test_updatehouseimport timefrom pychartdir import *#從公共函數調用excel的寫入方法worksheet,workbook = public.write_report() #測試用例的執行,并且返回x:成功的數量,y:失敗的數量xu,yu = test_inserthouse.test_inserthouses(worksheet,workbook)x,y = test_updatehouse.test_updatehouses(worksheet,workbook)#得到成功與失敗的總數量xr = x+xuyr = y+yu#將成功與失敗的數量寫入的excel的固定表格中worksheet.write(2,12,xr)worksheet.write(2,13,yr)#獲取當前的時間并以制定的格式返回now = time.strftime(’%Y-%m-%d %H_%M_%S’)#測試報告輸出的地址report_dir = ’D:personlearnpyHDapireport’#拼接出測試報告名filename =report_dir + now + ’apiresult.xlsx’workbook.save(filename) #通過pychart庫實現圖形處理,生成測試報告總覽圖----具體的參數設計可以參考pychart庫的文檔data = [yr, xr]labels = ['faild', 'pass']c = PieChart(280, 240)c.setPieSize(140, 130, 80)c.addTitle('api_result')c.set3D()c.setData(data, labels)c.setExplode(0)c.makeChart(report_dir+now+'apiresult.png')六.奉上測試報告輸出

本來想將生成的圖片放進excel測試報告里面的,奈何能力有限,沒辦法將圖片放進去,智能單獨存為一個png文件了

圖表總覽:

python接口自動化框架實戰

excel測試報告情況:

python接口自動化框架實戰

到此這篇關于python接口自動化框架實戰 的文章就介紹到這了,更多相關python接口自動化內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线一区视频观看| 久久中文字幕av| 精品久久视频| 7777精品| 日本不卡在线视频| 免费高清在线一区| 免费成人在线视频观看| 欧美日韩午夜电影网| 欧美搞黄网站| 久久久久国产| 免费日韩一区二区| 日韩欧美在线中字| 欧美国产不卡| 日本久久综合| 欧美jjzz| 色88888久久久久久影院| 午夜视频一区二区在线观看| 国产成人精品一区二区三区在线| 国产日韩免费| 99成人在线| 日韩国产一区二区| 麻豆精品在线视频| 日韩精品国产精品| 亚洲制服少妇| 91精品蜜臀一区二区三区在线| 国产精品超碰| 日韩高清不卡一区二区| 日韩一区亚洲二区| 日韩一区二区三免费高清在线观看 | 午夜久久av | 岛国av在线网站| 日韩精品免费一区二区三区| 老鸭窝毛片一区二区三区| 精品国产三区在线| 国产欧美丝祙| 国产日产一区| 久久不卡日韩美女| 久久只有精品| av资源中文在线| 最新中文字幕在线播放| 四季av一区二区凹凸精品| 免费在线日韩av| 色综合狠狠操| 日本欧美不卡| 女主播福利一区| 亚洲精品一二三区区别| 99久久www免费| 国产视频一区三区| 亚洲理论在线| 国产精品视频一区二区三区四蜜臂| 欧美亚洲三级| а√天堂8资源中文在线| 国产精品字幕| 日韩国产一区二| 综合激情视频| 日韩国产在线观看| **爰片久久毛片| 国产一区 二区| 毛片不卡一区二区| 国产一区二区久久久久| 欧美视频久久| 欧美久久久网站| 中文字幕日韩亚洲| 亚洲天堂av影院| 欧美亚洲自偷自偷| 亚洲激情偷拍| 国产99在线| 精品99久久| 国产精品入口久久| 91精品在线免费视频| 午夜久久免费观看| 久久久成人网| 日韩国产在线| 国产91欧美| 嫩草伊人久久精品少妇av杨幂| 亚洲一区观看| 国产在线成人| 欧美日韩国产高清| 欧美一区二区三区高清视频| 91av亚洲| 亚洲一区二区三区久久久| 国产在线视频欧美一区| 视频一区中文字幕精品| 男人天堂欧美日韩| 日本国产精品| 水蜜桃精品av一区二区| 国产极品模特精品一二| 91福利精品在线观看| 丝瓜av网站精品一区二区| 极品裸体白嫩激情啪啪国产精品| 久久精品二区亚洲w码| 丝袜诱惑制服诱惑色一区在线观看 | 米奇777超碰欧美日韩亚洲| 中文字幕人成乱码在线观看| 国产精品qvod| 国产精品久久久久久久久久齐齐| 午夜在线视频观看日韩17c| 欧美三级精品| 成人日韩在线| 久久婷婷丁香| 亚洲91久久| 日本不良网站在线观看| 久久精品国产免费| 国产精品久久久久久久久久久久久久久 | 精品视频一二| 丝袜国产日韩另类美女| 色婷婷色综合| 国产麻豆一区二区三区精品视频| 在线国产一区二区| 成人羞羞视频播放网站| 麻豆一区二区99久久久久| 免费国产亚洲视频| 欧美日韩色图| 精品国产第一福利网站| 久久精品xxxxx| 亚洲欧美日韩国产一区| 欧美丝袜一区| 久久国产成人午夜av影院宅| 麻豆久久一区二区| 国产亚洲欧美日韩精品一区二区三区 | 国产日韩中文在线中文字幕| 久久精品免费一区二区三区| 亚洲深夜视频| 精品视频在线一区二区在线| 成人自拍av| 黑丝美女一区二区| 日本少妇一区| 99tv成人| 亚洲欧美一级| 国产精品网在线观看| 国产精品久久久免费| 国产精品二区不卡| 日本一区二区高清不卡| 欧美日韩在线网站| 亚洲精选久久| 国产成人免费av一区二区午夜| 久久中文字幕二区| 欧美日韩va| 久久中文字幕二区| 日韩精品成人在线观看| 精品视频一区二区三区在线观看| 九九精品调教| 国产精区一区二区| 欧美一区二区三区激情视频| 日韩一级不卡| 麻豆精品新av中文字幕| 久久亚洲美女| 国产精品成人一区二区网站软件| 久久国产中文字幕| 欧美日韩一视频区二区| 欧美性感美女一区二区| 欧美日本三区| 老牛国产精品一区的观看方式| 麻豆视频一区| 亚洲男人在线| 亚洲午夜视频| 精品资源在线| 色8久久久久| 日韩中文影院| 国产一区二区三区亚洲综合| 免费在线观看成人| 国产99久久| 国产精品一区高清| 亚洲色图国产| 亚洲一区二区三区四区五区午夜 | 亚洲三级国产| 国内激情久久| 欧美日韩视频网站| 国产精品久久久久久久久久久久久久久| 亚洲欧美视频| 日本蜜桃在线观看视频| 久久三级中文| 美日韩一区二区三区| 国产精品丝袜xxxxxxx| 欧美日韩国产高清| 首页国产欧美久久| 91精品国产自产观看在线| 欧美黄页在线免费观看| 风间由美中文字幕在线看视频国产欧美| 久久久91麻豆精品国产一区| 中文在线资源| 91九色精品| 成人看片网站| 久久人人99| 国产欧美另类| 日韩亚洲国产欧美| 久久免费影院| 一区免费视频| 国产精品久久久久久久久久久久久久久| 国产不卡精品在线| av亚洲在线观看| 久久国产欧美日韩精品| 日韩在线欧美| 91精品丝袜国产高跟在线| 免费一二一二在线视频| 亚洲精品精选| 久久国产中文字幕| 国产精品蜜月aⅴ在线| 欧洲毛片在线视频免费观看| 国产激情欧美|