基于python3實(shí)現(xiàn)的http接口自動(dòng)化測(cè)試
開(kāi)發(fā)環(huán)境
- Win7 64,python 3囚似,Pycharm. unittest
- 讀取配置文件--讀取測(cè)試用例--執(zhí)行測(cè)試用例--記錄測(cè)試結(jié)果--生成html結(jié)果文件
框架簡(jiǎn)介
- 本框架優(yōu)點(diǎn)剩拢,只要和開(kāi)發(fā)人員規(guī)范好接口文檔的格式,然后根據(jù)接口文檔錄入接口生成器保存為xml,把xml給python進(jìn)行接口測(cè)試饶唤,當(dāng)然也可以用java來(lái)做接口測(cè)試
<?xml version="1.0" encoding="utf-8"?>
<root>
<title>阿邁</title>
<host>120.25.224.8</host>
<port>83</port>
<No>[1002,1003]</No>
<InterfaceList>
<id>1001</id>
<name>登陸</name>
<method>POSR</method>
<url>/api/v1.0/user/login.ashx?</url>
<hope>Token</hope>
<params>{"UserName":"18576759587","Password":"222222","IMEI":"868157020567821","Plat":"android","Version":"3.0","PhoneModel":"H60-L02"}</params>
<login>token</login>
<isList>0</isList>
</InterfaceList>
<InterfaceList>
<id>1002</id>
<name>分類</name>
<method>POST</method>
<url>/api/v1.0/basedata/goodstypes.ashx</url>
<hope>{'Data':[{'TypesName': '干貨', 'Initials': '', 'TypesId': '559'}],'Success': '1'}</hope>
<params>{}</params>
<login>0</login>
<isList>1</isList>
</InterfaceList>
<InterfaceList>
<id>1003</id>
<name>分類1</name>
<method>POST</method>
<url>/api/v1.0/basedata/goodstypes.ashx</url>
<hope>{'Data':[{'TypesName': '干貨', 'Initials': '', 'TypesId': '559'}],'Success': '1'}</hope>
<params>{}</params>
<login>0</login>
<isList>1</isList>
</InterfaceList>
</root>
- hope 意思是服務(wù)器返回的useid,token
- isList表示是否有嵌套.現(xiàn)在只是做了一級(jí)嵌套檢測(cè)
- No 表示執(zhí)行哪些用例id
- 支持常見(jiàn)是HTTP中的post和get方法,可以去擴(kuò)展
- 測(cè)試案例用的xml管理,xml是我自己寫的生成的,UI是硬傷
- 測(cè)試結(jié)合最后生成了html文件徐伐,方便查看,使用的是pyh。
- 本框架缺點(diǎn)募狂,暫時(shí)還不支持多級(jí)嵌套的檢測(cè)办素,是否恢復(fù)之前的自定義函數(shù)來(lái)檢測(cè)?如果哪個(gè)接口太復(fù)雜祸穷,弄個(gè)單獨(dú)的自定義函數(shù)來(lái)做檢查點(diǎn)
模塊類的設(shè)計(jì)說(shuō)明
- Httpbase.py 讀取http的域名和端口
- Config.py http方法的封裝,可以支持多協(xié)議擴(kuò)展性穿,get,post
- Runner_m.py 核心代碼。run_case是程序的入口
- Htmlreport.py 結(jié)果生成html文件
- testJson.py是檢查點(diǎn)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者