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

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

python使用pytest接口自動化測試的使用

瀏覽:181日期:2022-06-22 11:18:14
簡單的設計思路 利用pytest對一個接口進行各種場景測試并且斷言驗證 配置文件獨立開來(conf文件),實現不同環境下只需要改環境配置即可 測試的場景讀取excle的測試用例,可支持全量執行或者自定義哪條用例執行(用例內帶加密變量); 接口入參還包含了加密的邏輯,所以需加一層加密處理用例的樣例:

python使用pytest接口自動化測試的使用

應用的庫包含:

import pytestimport time, jsonimport base64, hmacimport hashlib, uuid, reimport requestsimport pandas as pd1. 先定義好conf配置代碼

def config_txt(file_name='config.txt'): data_head = list() data_tail = list() for line in open(file_name, encoding=’gb18030’, errors=’ignore’):head, sep, tail = line.partition(’=’)data_head.append(head.strip(’n ’))if tail.find(’#’) != -1: tail, tail_b, tail_c = tail.partition(’#’)data_tail.append(tail.strip(’n ’)) txt_data = dict(zip(data_head, data_tail)) heada, sepa, taila = txt_data['GATEWAY_URL'].partition(’/test_a’) txt_data[’HTTP_URI’] = '/test_a' + taila return txt_data

conf文件配置樣例:GATEWAY_URL = https://127.0.0.1:8051/test_a/adk #url鏈接地址zhu_KEY = test_key #用戶信息1zhu_SECRET = test_secret #用戶2zhu_ID = 18825176013 #用戶IDzhuLY_ID = 588347220 #用戶信息3

2. 簡單處理一下加密的處理,給后續持續調用

def md5(data_md5): data_md5 = hashlib.md5(data_md5.encode(encoding=’UTF-8’)).hexdigest() return data_md5def sha256(data_sha256): data_sha256 = hashlib.sha256(data_sha256.encode(encoding=’UTF-8’)).hexdigest() return data_sha256def hash_hmac(app_secret, msg, sha1): hmac_code = hmac.new(app_secret.encode(), msg.encode(), sha1).digest() return base64.b64encode(hmac_code).decode()3. 處理用例里面的加密變量,例如:請求參數md5(18812345678)先進行數據預處理

def body_encrypt(data_encrypt): if data_encrypt.find('sha256(') != -1:sha_ss = re.findall(r'sha256[(](.+?)[)]', data_encrypt)for i in range(len(sha_ss)): data_encrypt = re.compile('sha256[(]' + str(sha_ss[i]) + ’[)]’).sub(str(sha256(sha_ss[i])), data_encrypt) if data_encrypt.find('md5(') != -1:md5_ss = re.findall(r'md5[(](.+?)[)]', data_encrypt)for i in range(len(md5_ss)): data_encrypt = re.compile('md5[(]' + str(md5_ss[i]) + ’[)]’).sub(str(md5(md5_ss[i])), data_encrypt) return data_encrypt4. 讀取excel文檔里面的用例數據做為測試場景

def excel_case(file_name='case_file2.xlsx', case_id='all'): # 讀取excel賬號及路由代理信息file_name data_excle = pd.read_excel(file_name, sheet_name=0, engine='openpyxl') df = pd.DataFrame(data_excle) if case_id != 'all':df_data = df[(df.case_id == case_id)].to_dict(’list’) else:df_data = df.to_dict(’list’) case_id, case_name = df_data[’case_id’], df_data[’case_name’] case_body, case_assert = df_data[’case_body’], df_data[’case_assert’] case_body1 = body_encrypt(str(case_body)) txt_data = list(zip(case_id, case_name, eval(case_body1), case_assert)) return txt_data5. 上主菜,pytest的使用

class Test_zhu(object): #類初始化,此處在測試執行中,全局只會執行一次(讀取配置文件) @classmethod def setup_class(self):self.text_data = config_txt() #方法初始化,此處在測試執行中,每條用例都會先執行一遍 def setup_method(self):time.sleep(0.4)self.time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) #request接口請求的邏輯 def request_id(self, GATEWAY_URL, http_body):HTTP_BODY = eval(http_body)TIME_STAMP = str(int((time.time() + 5) * 1000))zhuCE = uuid.uuid1().hexmsg = self.text_data[’zhuLY_ID’] + 'n' + TIME_STAMP + 'n' + zhuCE + 'n' + self.text_data[’zhu_KEY’] + 'n' + self.text_data['HTTP_URI'] + 'n' + json.dumps(HTTP_BODY)HTTP_HEADER = { 'zhu_ID': self.text_data[’zhu_ID’], 'zhuLY_ID': self.text_data[’zhuLY_ID’], 'zhuCE': zhuCE, 'zhu_KEY': self.text_data[’zhu_KEY’], 'TIMESTAMP': TIME_STAMP, 'SIGNATURE': hash_hmac(self.text_data[’zhu_SECRET’], msg, hashlib.sha1)}print(’**請求參數:{}.’.format(HTTP_BODY))response_one = requests.post(GATEWAY_URL, json=HTTP_BODY, headers=HTTP_HEADER, verify=True)print(’**響應結果:{}.’.format(response_one.text))return eval(response_one.text) #parametrize為數據驅動,此處獲取了excle用例里的數據;apitest定個標簽,后續冒煙啥的可以選擇性的跑(暫時無用); #excel_case(case_id='all')說明,all為全部用例執行或者指定用例執行case_0001 @pytest.mark.parametrize(’case_id,case_name, case_body, case_assert’, excel_case(case_id='all')) @pytest.mark.apitest def test_zhu_case(self, case_id, case_name, case_body, case_assert):print('**n執行編號:' + case_id + 'n**用例名稱:' + case_name)case_assert_a = json.loads(case_assert)alertText = self.request_id(self.text_data[’GATEWAY_URL’], case_body)retcode = case_assert_a.get(’code’) if case_assert_a.get(’retcode’) == None else case_assert_a.get(’retcode’)alertText_a = alertText.get(’code’) if alertText.get(’retcode’) == None else alertText.get(’retcode’)#此處為斷言,判斷用例通過還是不通過assert alertText_a == retcode

if __name__ == ’__main__’: pytest.main(['-sv', ’zhu_testA.py’])6. 利用pytest-html庫可以生成html報告

命令:pytest zhu_testA.py --html=report.html --self-contained-html

python使用pytest接口自動化測試的使用

到此這篇關于python使用pytest接口自動化測試的使用的文章就介紹到這了,更多相關python 接口自動化測試內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品原创| 欧美特黄一区| 国产欧美久久一区二区三区| 国产精品av久久久久久麻豆网| 国产va免费精品观看精品视频| 国产调教精品| 国产精品三级| 四虎成人av| 特黄特色欧美大片| 在线 亚洲欧美在线综合一区| 欧美日韩国产精品一区二区亚洲| 国产一区二区三区自拍| 亚洲最新av| 欧美韩一区二区| 欧美aa在线观看| 国产精品外国| 久久国产人妖系列| 欧美国产不卡| 性欧美xxxx免费岛国不卡电影| 欧美亚洲国产激情| 欧美日韩免费看片| 久久成人国产| 欧美国产专区| 99pao成人国产永久免费视频| 最新国产精品| 福利精品一区| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩夜夜| 婷婷成人综合| 国产欧美在线| 91久久国产| 国产丝袜一区| 91精品一区二区三区综合| 亚洲精品欧美| 1024精品久久久久久久久| 欧美日韩xxxx| 亚洲视频播放| 国产精品久久久久av蜜臀| 亚洲一区日韩| 国产精品久久乐| 99热精品在线观看| 国产精品久久观看| 日日夜夜免费精品视频| 中文字幕系列一区| 日韩国产高清在线| 久久久久国产| 国产欧美一区二区精品久久久| 日韩一区二区在线免费| 国产美女精品视频免费播放软件| 久久国产亚洲精品| 久久中文字幕一区二区三区| 婷婷综合一区| 美美哒免费高清在线观看视频一区二区 | 在线国产一区二区| 麻豆久久久久久| 97久久超碰| 久久尤物视频| 亚洲啊v在线| 精品国产美女a久久9999| 日韩中文字幕在线一区| 久久蜜桃资源一区二区老牛| 精品一区二区三区免费看| 国产日韩一区二区三区在线| 日韩有吗在线观看| 天堂精品久久久久| 天堂久久一区| 日韩一区中文| 国产亚洲一区二区三区啪| 婷婷精品在线| 欧美激情麻豆| 视频在线不卡免费观看| 久久五月天小说| 91精品二区| 亚洲一区二区动漫| 久久高清一区| 亚洲精品中文字幕99999| 美国三级日本三级久久99| 欧美激情一区| 国产日韩在线观看视频| 久久精品毛片| 在线看片福利| 久久福利一区| 久久99精品久久久野外观看| 黄色网一区二区| 999久久久91| 亚洲一二av| 福利精品在线| 亚洲一区成人| 国产精品久久久免费| 精品国产不卡| 欧美日韩一区二区综合| 最新国产精品| 久久九九国产| 欧美日韩1区2区3区| 99视频+国产日韩欧美| 日本欧美在线| 久久美女性网| 欧美另类中文字幕| 欧美激情亚洲| 久久久噜噜噜| 日韩精品a在线观看91| 精品国产鲁一鲁****| 亚洲精品综合| 91精品蜜臀一区二区三区在线| 中文字幕一区二区三区在线视频| 国产精品chinese| 模特精品在线| 色婷婷精品视频| 国产欧美日韩在线观看视频| 91高清一区| 国产精品久久久久蜜臀| 欧美日韩伊人| 日本精品久久| 日韩一区网站| 中文字幕一区二区三区在线视频| 欧美黄色网页| 日韩1区在线| 国产精品极品| 久久精品72免费观看| 99亚洲视频| 国产在线一区不卡| 色偷偷偷在线视频播放| 国产亚洲欧美日韩在线观看一区二区 | 亚洲资源网站| 免费成人在线观看| 欧美日韩国产亚洲一区| 97se综合| 久久精品欧美一区| 精品捆绑调教一区二区三区| 青青国产精品| 国产精品手机在线播放| 麻豆视频观看网址久久| 美女国产精品久久久| 国产精品久久久久久久久久妞妞| 欧美啪啪一区| 精品欠久久久中文字幕加勒比| 欧美激情99| 日韩av免费| 99免费精品| 国产精品视频3p| 国内自拍视频一区二区三区| 日本激情一区| 女同性一区二区三区人了人一| 婷婷综合网站| 日韩午夜av| 欧美在线观看天堂一区二区三区| 欧美久久精品| 人人草在线视频| 国产一级一区二区| 奇米狠狠一区二区三区| 福利一区视频| 久久高清国产| 久久只有精品| 在线日韩av| 91精品福利观看| 精品三级久久| 亚洲精品黄色| 最新中文字幕在线播放| 视频一区二区中文字幕| 蜜桃视频一区二区三区在线观看| 日韩av一级片| 日韩一区二区在线免费| 亚洲精品麻豆| 欧美精品一二| 日韩高清二区| 久久久夜精品| 国产剧情一区| av一区二区高清| 欧美一区二区三区久久精品| 久久久久久婷| 亚洲小说春色综合另类电影| 亚洲一区资源| 欧美日韩1区| 亚洲欧美日韩国产综合精品二区| 亚洲麻豆一区| 日韩在线二区| 91精品丝袜国产高跟在线| 激情综合亚洲| 欧美日韩一视频区二区| 激情婷婷综合| 亚洲最新无码中文字幕久久| 亚洲精品在线国产| 中文亚洲欧美| 激情欧美国产欧美| 精品国产乱码久久久久久樱花| 日韩一区二区三区四区五区| 不卡中文字幕| 亚洲婷婷在线| 国产一区二区三区不卡视频网站 | 9国产精品视频| 婷婷精品进入| 亚洲福利专区| 久久久夜精品| 亚洲婷婷免费| 伊人久久亚洲影院| 欧美日韩免费观看一区=区三区| 精精国产xxxx视频在线野外| 麻豆精品一区二区综合av| 国产精品sm| 色在线视频观看|