python實現(xiàn)API接口自動化

框架簡介

選用python 3語言钝的,使用庫requests封锉、unittest、HTMLTestRunner實現(xiàn)锐极。測試用到的接口參數(shù)的數(shù)據是寫在代碼中的笙僚,沒有用EXCEL(嘗試過,當有幾十個參數(shù)時看著太頭疼)灵再。這是根據工作中實際的接口測試項目肋层,自己摸索一段時間后寫的,不通用翎迁,比較簡單栋猖。

API接口

項目實現(xiàn)的接口是提供給第三方調用的。介紹一下API接口的調用鸳兽,申請到app_key和 app_secret,請求地址為:服務器地址/業(yè)務地址罕拂,公共必填參數(shù)(隨機數(shù)nonce除外揍异,附在請求的body內)附在URL地址上請求全陨。


sign是對請求參數(shù)簽名,簽名方法如下:

1. 指定一種簽名方式:encry_method=md5,sha256,sha1,sha3_256

2.計算nonce: md5(ts)

3. 獲取到app_key,app_secret,ts,按如下規(guī)則:sign = $encry_method("nonce"+nonce+"ts"+ts+"app_key"+app_key+"app_secret"+secret ) 即生成字符串的哈希值

接口參數(shù)用form表單形式提交

二次封裝requests

將發(fā)送請求中不變的部分如簽名衷掷,公共參數(shù)等封裝為類configHttp里面通用的部分辱姨,變化的地方就在設置請求URL和請求參數(shù)。

初始化類戚嗅,從常量文件const_sign中獲取常量

創(chuàng)建了defaultData這個類來存每個接口的默認參數(shù)雨涛,參數(shù)是用的字典類型表示,參數(shù)名稱是key懦胞,value是存的列表:[參數(shù)取值替久,參數(shù)是否必填,參數(shù)是否是文件(F表示文件躏尉,P表示非文件)]


類configHttp的set_data函數(shù)將文件參數(shù)和非文件參數(shù)區(qū)分了出來


類configHttp的post函數(shù)處理了文件參數(shù)(包括一個參數(shù)有多個文件路徑蚯根,用列表存),從路徑中讀取文件內容后關閉文件


創(chuàng)建測試用例

單接口測試:一個接口創(chuàng)建一個類胀糜,取默認參數(shù)颅拦,有變化的參數(shù)值更新后傳值發(fā)送。


多接口業(yè)務聯(lián)調:將能通用的業(yè)務抽取出來封裝后使用教藻。


同一參數(shù)不同取值或校驗必填參數(shù)距帅,創(chuàng)建子用例subTest:


日志

WriteLog是封裝的日志模塊,有存儲在本地的括堤,也有輸出到控制臺顯示的碌秸,測試報告是取的輸出到控制臺顯示的內容。

測試報告

網上找的修改支持python3的HTMLTestRunner庫痊臭,將該py文件放到python安裝目錄的Lib下使用哮肚。


結束語

在寫這個代碼前,網上搜索了一番广匙,想找到修改一番可以直接拿來用的允趟,比如HttpRunner 這一款面向HTTP(S) 協(xié)議的通用測試框架。嘗試了后沒找到切入點鸦致,就嘗試自己先簡單寫寫潮剪,看看會遇到哪些問題,之后再去學習研究這個通用測試框架分唾。就好比一個武學初級菜鳥給他一把神器也發(fā)揮不出它的威力抗碰。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绽乔,隨后出現(xiàn)的幾起案子弧蝇,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件看疗,死亡現(xiàn)場離奇詭異沙峻,居然都是意外死亡,警方通過查閱死者的電腦和手機两芳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門摔寨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人怖辆,你說我怎么就攤上這事是复。” “怎么了竖螃?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵淑廊,是天一觀的道長。 經常有香客問我斑鼻,道長蒋纬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任坚弱,我火速辦了婚禮蜀备,結果婚禮上,老公的妹妹穿的比我還像新娘荒叶。我一直安慰自己碾阁,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布些楣。 她就那樣靜靜地躺著脂凶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪愁茁。 梳的紋絲不亂的頭發(fā)上蚕钦,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機與錄音鹅很,去河邊找鬼嘶居。 笑死,一個胖子當著我的面吹牛促煮,可吹牛的內容都是我干的邮屁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼菠齿,長吁一口氣:“原來是場噩夢啊……” “哼佑吝!你這毒婦竟也來了?” 一聲冷哼從身側響起绳匀,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤芋忿,失蹤者是張志新(化名)和其女友劉穎炸客,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戈钢,經...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡嚷量,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了逆趣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片询兴。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡寞焙,死狀恐怖,靈堂內的尸體忽然破棺而出行拢,到底是詐尸還是另有隱情梨州,我是刑警寧澤痕囱,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站暴匠,受9級特大地震影響鞍恢,放射性物質發(fā)生泄漏。R本人自食惡果不足惜每窖,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一帮掉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窒典,春花似錦蟆炊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至劈猪,卻和暖如春昧甘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背战得。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工充边, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贡避。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓痛黎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親刮吧。 傳聞我的和親對象是個殘疾皇子湖饱,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內容