标签:lse 框架搭建 init get ati cep demo img pre
公司项目启用新框架,前后端分离,所以接口测试成为测试工作中不可缺失的一个环节,现在将从0开始搭建接口自动化测试框架的路程,一步步记录下来。
开发语言我们采用Python+第三方库Requests,测试框架使用Unittest。
前期在网上看了很多相关接口自动化的视频,都是采用Python+Requests,看了视频感觉还是比较方便的。在Pycharm中新建一个工程,新建demo.py
#!/usr/bin/env python # coding=utf-8 import requests import json class RunMain: def __init__(self): pass @staticmethod def send_post(url,cookies,headers,params=None): try: res = requests.post(url=url,cookies=cookies,headers=headers,data=params) print("请求地址:", res.url) print("返回状态:", res.status_code) print("响应时间:", res.elapsed) try: print("响应数据格式为:JSON") print("响应数据:", json.dumps(res.json(), sort_keys=True, indent=2, ensure_ascii=False)) except json.decoder.JSONDecodeError: print("响应数据格式为:文本") print("响应文本:", res.text) return res except Exception as msg: return msg @staticmethod def send_get(url,cookies,headers,params=None,): try: res = requests.get(url=url,cookies=cookies,headers=headers,params=params,) print("请求地址:",res.url) print("返回状态:",res.status_code) print("响应时间:",res.elapsed) try: print("响应数据格式为:JSON") print("响应数据:", json.dumps(res.json(), sort_keys=True, indent=2, ensure_ascii=False)) except json.decoder.JSONDecodeError: print("响应数据格式为:文本") print("响应文本:", res.text) return res except Exception as msg: return msg def run_main(self, url, method,cookies=None,headers=None,params=None): if method == ‘GET‘ or ‘G‘: print(‘请求类型: GET‘) res = self.send_get(url,cookies,headers,params) return res elif method == ‘POST‘ or ‘P‘: print(‘请求类型:POST‘) res = self.send_post(url,cookies,headers,params) return res else: print(‘不支持的请求方式!‘)
其他 HTTP 请求类型:PUT,DELETE,HEAD 以及 OPTIONS,可以在上述run_main中自助扩展,因公司主要接口为get/post,所以此处不再继续编写。
测试一下我们的代码:
url = "http://apis.juhe.cn/mobile/get" headers={ "Content-Type":"application/json" } params = { "phone": "13800000000", "dtype": "json", "key": "*****" //密匙 } RunMain().run_main(url=url, method=‘G‘,headers=headers, params=params)
我们使用免费接口聚合数据进行测试,测试手机归属地查询。
运行代码后可以返回手机号码归属地、区号、运行商、邮政编码等信息。
在demo.py代码中:
json.decoder.JSONDecodeError
这个声明异常的作用,是为了防止get或post返回值为非json而引起的异常,出现此错误时证明返回值为非json格式,即显示文本内容。
【接口自动化】Python+Requests接口自动化测试框架搭建【一】
标签:lse 框架搭建 init get ati cep demo img pre
原文地址:https://www.cnblogs.com/GongYuTest/p/13322747.html