在python中可以使用requests这个第三方的库来解决接口调用一系列问题,方便,快速,并且简单。
1、在做接口测试前,我们要做好数据分离,建好不同的package以及不同的目录,方便我们后期归纳整理代码,方便我们调用,达到最高的复用性。
- 新建一个项目,命名为:auto_test_interface
- 新建一个package,命令为common,专门放公用代码
- 新建一个directory,命名为test_data,专门放测试数据
- 新建一个directory,命名为test_result,下面有2个子目录,html_report和log,分别存放html类型的测试报告以及接口运行的日志。
- 新建一个directory,命名为conf,专门存放配置文件
- 新建一个run.py文件,专门放之后的执行文件
创建完毕后,如下所示:

至此已经做好了所有的前期准备,接下来就是写接口自动化的测试代码。
2、统一封装接口请求
设计http_request方法,根据接口的请求类型来调用相应的处理,如果是get方式就调get方法,如果是post方式就调post方法。经过这样设计后,测试方法中的代码结构会更清晰有层次,也更容易维护:
代码如下所示:
import requests # 引入requests模块
class HTTPRequest:
# 创建初始化函数,每次请求都需要提供url param两个必备参数
def __init__(self, url, param):
self.url = url
self.param = param
def http_request(self, method, cookies=None): # 定义了默认值
# 由于我们后面的操作需要传递cookie,所以我们这个参数给定义一个默认值
if method.upper() == 'GET':
try:
res = requests.get(self.url, self.param, cookies=cookies)
except Exception as e:
print("执行get请求报错,错误是:{0}".format(e))
res = 'Error:get请求报错{0}'.format(e)
elif method.upper() == 'POST':
try:
res = requests.post(self.url, self.param, cookies=cookies)
except Exception as e:
print("执行get请求报错,错误是:{0}".format(e))
res = 'Error:post请求报错{0}'.format(e)
else:
print("你的请求方式不对!")
res = 'Error:请求方法不对报错{0}'.format(method)
return res

准备测试数据执行测试http_request这个类,编写代码如下所示:
if __name__ == '__main__':
login = 'http://test.lemonban.com/futureloan/mvc/api/member/login'
login_param = {'mobilephone': '18688773465', 'pwd': '123456'}
# res =requests.post (login,login_param)
# print("打印",res.json())
res_login = HTTPRequest(login, login_param).http_request('get')
res_login2 = HTTPRequest(login, login_param).http_request('post')
print("登录的get请求结果:", res_login.json())
print("登录的post请求结果:", res_login2.json())
执行代码后的截图如图所示:

5万+

被折叠的 条评论
为什么被折叠?



