电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

pycharm中使用request和Pytest進行接口測試的方法

瀏覽:9日期:2022-07-15 16:40:24

安裝request庫以火車的站站查詢為例的post和get方法的接口測試使用pytest測試接口

1、requests的請求機制

1、安裝request庫

pycharm中使用request和Pytest進行接口測試的方法pycharm中使用request和Pytest進行接口測試的方法

2、以火車的站站查詢為例的post和get請求方法

pycharm中使用request和Pytest進行接口測試的方法

2.1get請求

兩種傳參方式

1、_url = “網址+參數” = “網址?key1=value1&key2=value2”

response1 = request.get(url = _url)

2、字典拼接

_params = {“key1” : “value1”,“key2” : “value2”,}response2 = requests.get(url=“網址”, params = _params)

import requestsresponse = requests.get(url='https://api.binstd.com/train/station2s?start=北京&end=西安&ishigh=0&appkey=d737aad9a0d9dc97')print(response.text) #字符串格式print(response.json()) #json,前提需要確保返回內容為json格式,否則報錯#字典方式拼接參數print('-------------字典方式拼接參數---------------')params = { 'start' : '北京', 'end' : '西安', 'ishigh' : 0 , 'appkey' : 'd737aad9a0d9dc97'}response1 = requests.get(url='https://api.binstd.com/train/station2s', params = params)print(response1.text)print(response1.json())

pycharm中使用request和Pytest進行接口測試的方法

2.2post請求拼接參數方式傳參

import requests#字典方式拼接參數data = { 'start' : '北京', 'end' : '西安', 'ishigh' : 0 , 'appkey' : 'd737aad9a0d9dc97'}response1 = requests.post(url='https://api.binstd.com/train/station2s', data = data)print(response1.text)print(response1.json())#獲取響應狀態碼print(response1.status_code)#獲取原始模式print(response1.raw)

常見的請求方法

請求方法 含義 requests.get() 獲取html的主要方法 requests.head() 獲取html頭部信息的主要方法 requests.post() 向html網頁提交post請求的方法 requests.put() 向html網頁提交put請求的方法 requests.patch() 向html提交局部修改的請求 requests.delete() 向html提交刪除請求

2、pytest測試接口

1、安裝pytestpip install pytest

2、使用pytest測試接口在pytest框架中,有如下約束:文件名要以test開頭或者結尾(test_*.py / *_test.py),可以包含一個或多個test_開頭的函數。此時,在執行pytest命令時,會自動從當前目錄及子目錄中尋找符合上述約束的測試函數來執行。

4.1首先得到響應數據

import requestsdef request_ticket(): #返回接口響應結果 url = 'https://api.binstd.com/train/ticket' payload = { 'start': '北京', 'end': '西安', 'date': '2019-10-1', 'appkey': 'd737aad9a0d9dc97' } #response = requests.get(url = _url, parms = payload) response = requests.post(url = url, data = payload) print(response.text) return responserequest_ticket()

4.2為了方便查看將響應結果格式化:由于太長,部分用省略號代替

{ 'status': 0, 'msg': 'ok', 'result': { 'start': '北京', 'end': '西安', 'date': '2020-06-10', 'list': [ {'trainno': 'G667', 'type': 'G', 'typename': '高鐵', 'station': '北京西', 'endstation': '西安北', 'departuretime': '11:19', ...'departstationcode': 'BXP', 'terminalstationcode': 'EAY', 'startdate': '20200610', ... }, {'trainno': 'G659', 'type': 'G', 'typename': '高鐵', 'station': '北京西', 'endstation': '西安北', 'departuretime': '11:53', ...'departstationcode': 'BXP', 'terminalstationcode': 'EAY', 'startdate': '20200610', ... }, {...}, {...}, ... ] }}

pycharm中使用request和Pytest進行接口測試的方法

4.3取出數據出發站(station)和到達站(endstation)在result中的list下,怎么取到呢?----[“result”] [“list”]---- request_ticket().json()[“result”][“list”]

def test_departur_station(): ''' 始發站測試,測試接口返回的所有車次信息,他們的出發站,和到達站都符合參數約定 :return: ''' #從響應中獲取測試列表 trainSli = request_ticket().json()['result']['list'] #單個的車次信息 #trainSli是取出來的list列表 for trainInfo in trainSli: assert '北京' in trainInfo['station'] #判斷‘北京’是否是列表中‘station’的值 assert '西安' in trainInfo['endstation'] #判斷到達站是不是‘西安’#調用函數test_departur_station()’’’def test_train_date(): ''' 發車日期測試,接口返回的所有車次信息,發車日期,都符合參數約定 :return: ''' #從響應中獲取測試列表 trainSli = request_ticket().json()['result']['list'] #單個的車次信息 for trainInfo in trainSli: assert '20200610' in trainInfo['startdate'] test_train_date()’’’

4.4 運行

pycharm中使用request和Pytest進行接口測試的方法

4.5 查看結果

pycharm中使用request和Pytest進行接口測試的方法

如果該路徑下有多個以test開頭或者結尾的文件,則會一起檢測兩個文件中的接口

pycharm中使用request和Pytest進行接口測試的方法

如果出現ERROR則在文件中找錯誤原因

pycharm中使用request和Pytest進行接口測試的方法

總結

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

標簽: pycharm request Pytest
相關文章:
主站蜘蛛池模板: 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | DAIKIN电磁阀-意大利ATOS电磁阀-上海乾拓贸易有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 定制异形重型钢格栅板/钢格板_定做踏步板/排水沟盖板_钢格栅板批发厂家-河北圣墨金属制品有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 阳光1号桔柚_无核沃柑_柑橘新品种枝条苗木批发 - 苧金网 | 金联宇电缆|广东金联宇电缆厂家_广东金联宇电缆实业有限公司 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 南京PVC快速门厂家南京快速卷帘门_南京pvc快速门_世界500强企业国内供应商_南京美高门业 | 3d可视化建模_三维展示_产品3d互动数字营销_三维动画制作_3D虚拟商城 【商迪3D】三维展示服务商 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 成都APP开发-成都App定制-成都app开发公司-【未来久】 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 华夏医界网_民营医疗产业信息平台_民营医院营销管理培训 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 空气净化器租赁,空气净化器出租,全国直租_奥司汀净化器租赁 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 飞飞影视_热门电影在线观看_影视大全 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 大巴租车平台承接包车,通勤班车,巴士租赁业务 - 鸿鸣巴士 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 便民信息网_家电维修,家电清洗,开锁换锁,本地家政公司 | 精密五金加工厂-CNC数控车床加工_冲压件|蜗杆|螺杆加工「新锦泰」 |