Python Unittest接口自動化測試框架搭建記錄

Unittest框架的基本結構如圖:

代碼設計思路重點講解:

1、通過讀取Excel文檔中的內(nèi)容,來實現(xiàn)參數(shù)的存儲。通過配置文件,可以方便修改對應的內(nèi)容。

2、把接口的參數(shù)存在Excel中,通過json.loads將參數(shù)變?yōu)閖son格式,其余公共參數(shù)可通過values.update()來加入。

3、對于我們常用的token參數(shù),通過傳入uid,在通過數(shù)據(jù)庫查詢,進行替換參數(shù)。

4、對于返回值的校驗,通過寫在Excel對應行的結果上,因為主要用來回歸下接口是否正常訪問,故代碼只做了code校驗

然這樣設計之后,我們可以通Excel添加對應接口,參數(shù)和結果,如圖:

而測試結果如圖顯示:

遇到問題記錄如下:

問題:ImportError: No module named flask 解決辦法:

1、Python3可以在命令提示符中輸入:pip3 install flask

2、Python2直接輸入:pip install flask

問題:ImportError: No module named 'xlrd' 解決辦法:

1、Python3可以在命令提示符中輸入:pip3 install xlrd

2、Python2直接輸入:pip install xlrd

問題:ImportError: No module named requests 解決辦法:

1、Python3可以在命令提示符中輸入:pip3 install requests

2、Python2直接輸入:pip install requests

問題:common中的xx.py調(diào)用文件夾外面的xx.py文件,解決方法:

import sys

sys.path.append('..')

--------------這段代碼放在import xx.py之前--------------

問題:在打印log的時候會提示錯誤:UnicodeDecodeError:

'ascii' codec can't decode byte 0xe2 in position 30,解決方法:

import sys

reload(sys)

sys.setdefaultencoding('utf8')

--------------這段代碼放在logging的頭部--------------

問題:在執(zhí)行腳本的時候提示錯誤:'testUserLogin' object has

no attribute 'case_name':

原因是在 HTMLTestRunner.HTMLTestRunner中運行時description = cls_results[0][1]中多了.case_name,只要刪掉就好了

問題:在執(zhí)行腳本的時候提示錯誤:TypeError: unicode argument

expected, got 'str':

解決方法:HTMLTestRunner中將對應的2.7版本改成from io import BytesIO,然后把下方的self.outputBuffer = io.BytesIO()

問題:在執(zhí)行腳本的時候提示錯誤:ImportError: No modulenamed parse

python 2.7版本需要用urlparse代替parse。故腳本修改如下

data1 = dict(urlparse.parse_qs(urlparse.urlparse(new_url).query))

問題:在執(zhí)行腳本的時候提示錯誤:ImportError: No modulenamed paramunittest

1、Python3可以在命令提示符中輸入:pip3 install paramunittest

2、Python2直接輸入:pip install paramunittest

在45機子上jenkins配置對應的執(zhí)行內(nèi)容

一、45機子上需要配置tomcat服務

二、安裝工程所用到的對應python插件

三、上傳對應的工程,并且在jenkins中配置對應工程

四、找到tomcat中/conf/server.xml文檔,在最好一行插入對應訪問地址的對應路徑配置。如:

則頁面訪問路徑如:(用于查看對應接口報告)

五、啟動tomcat,使鏈接可以訪問


代碼路徑:https://github.com/lunacai/MyUnittest/tree/master/chushouInterTest

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容