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

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

python接口自動化框架實戰(zhàn)

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

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

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

python接口自動化框架實戰(zhàn)

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

python接口自動化框架實戰(zhàn)

一.理清思路

我這個自動化框架要實現(xiàn)什么

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

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

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

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

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

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

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

數(shù)據(jù)與代碼分離,也就是數(shù)據(jù)性的需要作為配置文件可以隨時修改。如:接口url,網站登錄權限驗證信息,數(shù)據(jù)庫信息。全部存入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接口自動化框架實戰(zhàn)

三.公共函數(shù)存在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的函數(shù)def get_url(api_name):fp = open(’D:personlearnpyHDapiconfigAPI_url.txt’)#按行讀取接口url配置文件api_infos = fp.readlines()fp.close()#通過for循環(huán)來遍歷配置文件里的每一個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測試報告表格中創(chuàng)建名叫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兩個參數(shù),因為在測試測試用例和運行文件中需要用到的兩個參數(shù)return worksheet,workbook四.測試用例的編寫

test_inserthouse.py

import requests,unittest,os,time,jsonfrom common import public,get_authorization #房屋添加用例,通過傳入public里wirte_sheet函數(shù)返回的參數(shù)wooksheet,將用例的執(zhí)行結果寫入到測試報告中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循環(huán)來實現(xiàn)遍歷一個excel頁面的所有測試用例for i in range(1,nor):#獲取excel表格里面需要給接口傳入的參數(shù)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需要傳入的參數(shù)data = {’houseNum’:houseNum,’houseUseFor’:houseUseFor,’orgUuid’:orgUuid,’residentNum’:residentNum,’floor’:floor,’emergencyPhone’:emergencyPhone,’payment’:payment} #請求頭,網站加了登陸驗證之后需要在請求頭傳入Authorization參數(shù)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#測試用例執(zhí)行完后,返回用例成功與失敗的數(shù)量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五.通過對公共函數(shù)、測試用例的設計聯(lián)合的思考應該在執(zhí)行文件里面做什么,實現(xiàn)什么。

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

from common import publicimport test_inserthouse,test_updatehouseimport timefrom pychartdir import *#從公共函數(shù)調用excel的寫入方法worksheet,workbook = public.write_report() #測試用例的執(zhí)行,并且返回x:成功的數(shù)量,y:失敗的數(shù)量xu,yu = test_inserthouse.test_inserthouses(worksheet,workbook)x,y = test_updatehouse.test_updatehouses(worksheet,workbook)#得到成功與失敗的總數(shù)量xr = x+xuyr = y+yu#將成功與失敗的數(shù)量寫入的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庫實現(xiàn)圖形處理,生成測試報告總覽圖----具體的參數(shù)設計可以參考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接口自動化框架實戰(zhàn)

excel測試報告情況:

python接口自動化框架實戰(zhàn)

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

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线视频观看日韩| 欧美激情另类| 欧美成人高清| 少妇久久久久| 国产精品字幕| 日韩不卡一区| 青青久久av| 亚洲欧美日韩国产| 视频精品一区二区| 深夜日韩欧美| 国产精品videossex| 91免费精品| 欧美日韩精品一本二本三本| 在线视频免费在线观看一区二区| 久久高清国产| 国产精品xvideos88| 国产精品蜜芽在线观看| 亚洲调教视频在线观看| 综合色一区二区| 国产精品一区二区精品视频观看| 日本午夜精品久久久| 久久99国产精品视频| 欧美日一区二区| 日韩一区二区三区精品| 免费亚洲婷婷| 久久精品亚洲欧美日韩精品中文字幕| 激情六月综合| 国产日韩在线观看视频| 国产中文在线播放| 亚洲天堂日韩在线| 国内在线观看一区二区三区| 一区二区自拍| 麻豆精品新av中文字幕| 婷婷亚洲五月| 久久一区精品| 亚洲精品2区| 久久99蜜桃| 亚洲综合日本| 国产日韩欧美在线播放不卡| 国产精品yjizz视频网| 五月激激激综合网色播| 日韩免费福利视频| 国产美女久久| 亚洲激情av| 蜜桃av.网站在线观看| 综合一区在线| 蜜桃成人av| 热三久草你在线| 欧美aa在线视频| 免费人成精品欧美精品| 高清一区二区| 国产精品久久久久毛片大屁完整版| 国内精品福利| jizzjizz中国精品麻豆| 国产精品丝袜在线播放| 亚州av一区| 日韩一区二区三区四区五区| 国产免费成人| 美女被久久久| 在线亚洲精品| 好看的av在线不卡观看| 亚洲高清二区| 亚洲二区精品| 亚洲精品a级片| 欧美1级日本1级| 国产成人精品亚洲日本在线观看| 精品一区二区三区视频在线播放| 国产精品丝袜在线播放| 毛片不卡一区二区| 久久久久亚洲精品中文字幕| 精品淫伦v久久水蜜桃| 欧美成人a交片免费看| 久久天堂成人| av成人国产| 亚洲精品视频一二三区| 亚洲精品黄色| 久久av中文| 久久精品观看| 西西人体一区二区| 亚洲欧美一级| 欧美亚洲tv| 精品国产中文字幕第一页| 亚洲va中文在线播放免费| 亚洲精品成人| 国产亚洲欧美日韩在线观看一区二区| 麻豆精品新av中文字幕| 亚洲高清av| 国产香蕉精品| 免费黄色成人| 国产精品成人一区二区网站软件| 久久久久久网| 首页亚洲欧美制服丝腿| 精品视频在线你懂得| 亚洲精品中文字幕乱码| 日韩av一区二区三区| 久久精品欧洲| 狠狠爱www人成狠狠爱综合网| 日本强好片久久久久久aaa| 国产夫妻在线| 亚洲一区二区小说| 精品精品国产三级a∨在线| 一区二区三区四区在线观看国产日韩 | 97久久超碰| 欧洲av不卡| 97精品久久| 不卡中文字幕| 精品网站999| 国产亚洲一区二区三区啪| 成人自拍av| 91成人小视频| 在线免费观看亚洲| 九九久久婷婷| 电影亚洲精品噜噜在线观看| 国产日韩欧美三级| 中文字幕一区二区三区日韩精品| 不卡福利视频| 黄色在线观看www| 久久精品国产99| 国产精品调教视频| 国产日韩欧美三区| 国产欧美自拍| 欧美在线不卡| 亚洲bt欧美bt精品777| 激情综合亚洲| 国产在线|日韩| 日本一区二区免费高清| 久久中文字幕一区二区| 国产精品www.| 成人国产精品一区二区网站| 国产精品手机在线播放| 国产精品久久久久久久久久齐齐| 欧美日本不卡| 久久亚洲道色| 久久久久国产精品一区三寸| 日韩精品久久久久久久电影99爱| 麻豆mv在线观看| 日本精品影院| 鲁大师影院一区二区三区| 国产亚洲高清视频| 蜜臀av国产精品久久久久| 五月激激激综合网色播| 日韩欧美网址| 91欧美国产| 岛国av在线网站| 国产欧美日韩在线一区二区| 六月婷婷一区| 黄色在线观看www| 成人福利av| 亚洲一区二区成人| 日韩激情中文字幕| 麻豆一区二区三区| 在线成人动漫av| 美女尤物久久精品| 亚洲1区在线观看| 久久久国产精品入口麻豆| 日韩国产一区| 一区二区高清| www.九色在线| 蜜臀精品久久久久久蜜臀| 国产精品一在线观看| 91日韩欧美| 亚洲三级在线| 精品丝袜在线| 日本久久一区| 欧美日韩国产一区二区三区不卡| 综合激情网...| 日本在线精品| 久久久91麻豆精品国产一区| 久久亚洲不卡| 国产精品不卡| 欧美日本二区| 日韩中文字幕91| 日韩国产欧美一区二区| 国产精品久久777777毛茸茸| 好看的av在线不卡观看| 精品国产乱码| 欧美欧美黄在线二区| 免费看的黄色欧美网站| 日本高清不卡一区二区三区视频| 91大神在线观看线路一区| 噜噜噜躁狠狠躁狠狠精品视频 | 激情综合网站| 国产一区二区三区四区| 日韩av电影一区| 亚洲图片久久| 在线一区二区三区视频| 亚洲精品2区| 欧美午夜不卡| 国产亚洲一区在线| 亚洲一区二区成人| 国产精品日韩久久久| 精品一区毛片| 午夜精品一区二区三区国产| 亚洲成av人片一区二区密柚| 最近高清中文在线字幕在线观看1| 国产欧美丝祙| 免费精品一区| 国产精品久久久网站| 97久久亚洲| 国产精品三级|