成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python+requests+Excel+Jenkins接口自動化

ashe / 1527人閱讀

摘要:總結(jié)大部分人做接口自動化的流程后,發(fā)現(xiàn)基本上都是做接口請求用來存儲用例生成測試報告完成定時任務(wù)。其實(shí)在完成這個流程的過程中,代碼編寫只占用了一小部分的時間,大部分的時間都浪費(fèi)在搭建環(huán)境和用例編寫上??梢酝ㄟ^這個方式去轉(zhuǎn)換一些有問題的。

總結(jié)大部分人做接口自動化的流程后,發(fā)現(xiàn)基本上都是:python + requests做接口請求;Excel用來存儲用例;HTMLTestRunner生成測試報告;Jenkins完成定時任務(wù)。

其實(shí)在完成這個流程的過程中,代碼編寫只占用了一小部分的時間,大部分的時間都浪費(fèi)在搭建環(huán)境和用例編寫上。這里我記錄一些遇到的問題。

一、接口請求
(1)配置請求方法:get 和 post 方法簡單封裝,header中參數(shù)設(shè)置

# _*_coding:utf-8 _*
import requests

#get請求
def get(url,querystring):
    headers = requestHeader()
    response = requests.request("GET", url, headers=headers, params=querystring)
    # print response.url
    return response

#post請求
def post(url,payload,querystring):
    headers = requestHeader()
    response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
    # print response.url
    return response

#設(shè)置請求的header
def requestHeader():
    headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache"
    }
    return headers

(2)針對post請求的body,開始時使用的時text的dict去請求,請求錯誤總是返回:"請求參數(shù)錯誤",后來使用postman進(jìn)行調(diào)試,直接復(fù)制已經(jīng)轉(zhuǎn)換成json格式的body傳參進(jìn)行請求,終于成功。

可以通過這個方式去轉(zhuǎn)換一些有問題的body。

(3)body轉(zhuǎn)換為json的另一種方式:通過ast模塊進(jìn)行轉(zhuǎn)換(推薦)

import ast
caseParams         =     ast.literal_eval(caseParams)

(4)通過openpyxl模塊獲取用例Excel

#用例名
caseName     =     caseFile.getCellVaule(ws,rowIndex,1)
#url
caseUrl     =     caseFile.getCellVaule(ws,rowIndex,3)
#請求方式
caseMethod     =     caseFile.getCellVaule(ws,rowIndex,4)
#參數(shù)
caseParams     =     caseFile.getCellVaule(ws,rowIndex,5)

備注:在獲取用例信息的過程中,需要對一些參數(shù)進(jìn)行容錯
A:是否有參數(shù),若無參數(shù),需傳空;
B:get參數(shù)和post body需要分開處理:
get的參數(shù)是以 "¶m"形式明文拼接在url中;

#將請求參數(shù)轉(zhuǎn)換為json格式
caseParams     =     ast.literal_eval(caseParams)
keys         =     dict(caseParams).keys()
values         =     dict(caseParams).values()
for x in xrange(0,len(keys)):
  tempQuery[keys[x]] = values[x]

post的body需要放在dict中進(jìn)行傳參;

caseParams         =     ast.literal_eval(caseParams)

(5)分割所需的參數(shù),將結(jié)果寫入到文件內(nèi)

#請求返回的內(nèi)容,轉(zhuǎn)換為json格式
text             =     json.loads(response.text)
                caseFile.setCellValue(ws,rowIndex,6,response.text)

#URL請求耗時
spendTime         =     response.elapsed.total_seconds()
                caseFile.setCellValue(ws,rowIndex,7,spendTime)

#請求結(jié)果狀態(tài)
statue             =     response.status_code
                caseFile.setCellValue(ws,rowIndex,8,statue)
self.assertEqual(statue, 200)

(6)將請求結(jié)果寫入html文件,并展示

(7)配置到Jenkins,定時執(zhí)行查看接口的可達(dá)性

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44924.html

相關(guān)文章

  • 動化測試到底怎么開展?

    摘要:一概述在創(chuàng)業(yè)公司里,項(xiàng)目都比較趕,測試人員也是疲于測試功能模塊,基本沒空去寫什么自動化測試,以提升回歸測試的效率。三做自動化測試的動機(jī)最大的動機(jī)提升回歸測試的效率。重要業(yè)務(wù)接口的自動化測試,盡量做到多而全,爭取全面覆蓋。 ...

    馬忠志 評論0 收藏0
  • Python動化必會技能-Excel文件讀取

    摘要:重點(diǎn)在自動化測試過程中,經(jīng)常需要使用文件來存儲測試用例,那么在表格內(nèi)設(shè)計好了測試用例數(shù)據(jù)后,如何通過自動化讀取呢此時就需要測試小姐姐動手寫代碼了本文主要介紹通過來讀取表格數(shù)據(jù)。 ...

    187J3X1 評論0 收藏0
  • Windows環(huán)境 Git提交代碼到Github(附:python 讀寫Excel文件Demo)

    摘要:目錄提交代碼常用命令讀寫文件一常用命令從遠(yuǎn)程倉庫克隆整個項(xiàng)目代碼列出當(dāng)前目錄所有還沒有被管理的文件和被管理且被修改但還未提交的文件提交全部未跟蹤和修改文件,但是不處理刪除文件將暫存區(qū)里的改動給提交到本地的版本庫參數(shù)表示可以直接輸入后面的 目錄 Git提交代碼常用命令 python 讀寫Excel文件Demo 一、Git常用命令 git clone #從遠(yuǎn)程倉庫克隆整個項(xiàng)目代碼sh...

    Drinkey 評論0 收藏0
  • 第一篇(從django后臺解析excel數(shù)據(jù)批量導(dǎo)入數(shù)據(jù)庫)

    摘要:總結(jié)整個過程的難點(diǎn)在于獲取文件對象,從數(shù)據(jù)中取值然后在按取出,這樣我們就可以從后臺上傳文件,然后進(jìn)行批量導(dǎo)入數(shù)據(jù)庫,其他數(shù)據(jù)格式只需要改和中的數(shù)據(jù)字段就可以 第一篇(從django后臺解析excel數(shù)據(jù)批量導(dǎo)入數(shù)據(jù)庫) 文章會在github中持續(xù)更新 作者: knthony github 聯(lián)系我 1.django 如何從后臺上傳excel中批量解析數(shù)據(jù) 要從django后臺導(dǎo)入...

    2i18ns 評論0 收藏0
  • 聊聊動化測試?yán)锏臄?shù)據(jù)驅(qū)動和關(guān)鍵字驅(qū)動

    摘要:關(guān)鍵字驅(qū)動的自動化測試框架建立在數(shù)據(jù)驅(qū)動手段之上,表中包含指令關(guān)鍵詞,而不只是數(shù)據(jù)。關(guān)鍵字驅(qū)動的自動化測試是對數(shù)據(jù)驅(qū)動的自動化測試的有效改進(jìn)和補(bǔ)充。 今天,我們來...

    shiina 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<