首页 > 技术文章 > (转载)Python+unittest+requests+HTMLTestRunner完整的接口自动化测试框架搭建_01——测试接口服务

ZPTEST 2020-08-07 16:07 原文

完整的框架源码下载https://gitee.com/submi_to/interfaceTest.git

首先,我们想搭建一个接口自动化测试框架,前提我们必须要有一个可支持测试的接口服务。有人可能会说,现在我们的环境不管测试环境,还是生产环境有现成的接口。但是,一般工作环境中的接口,不太满足我们框架的各种条件。举例如,接口a可能是get接口b可能又是post,等等等等。因此我决定自己写一个简单的接口!用于我们这个框架的测试!

按第一讲的目录创建好文件,打开test_api.py,写入如下代码

  1.  
    import flask
  2.  
    import json
  3.  
    from flask import request
  4.  
     
  5.  
    '''
  6.  
    flask: web框架,通过flask提供的装饰器@server.route()将普通函数转换为服
  7.  
    '''
  8.  
    # 创建一个服务,把当前这个python文件当做一个服务
  9.  
    server = flask.Flask(__name__)
  10.  
    # @server.route()可以将普通函数转变为服务 登录接口的路径、请求方式
  11.  
    @server.route('/login', methods=['get', 'post'])
  12.  
    def login():
  13.  
    # 获取通过url请求传参的数据
  14.  
    username = request.values.get('name')
  15.  
    # 获取url请求传的密码,明文
  16.  
    pwd = request.values.get('pwd')
  17.  
    # 判断用户名、密码都不为空
  18.  
    if username and pwd:
  19.  
    if username == 'xiaoming' and pwd == '111':
  20.  
    resu = {'code': 200, 'message': '登录成功'}
  21.  
    return json.dumps(resu, ensure_ascii=False) # 将字典转换字符串
  22.  
    else:
  23.  
    resu = {'code': -1, 'message': '账号密码错误'}
  24.  
    return json.dumps(resu, ensure_ascii=False)
  25.  
    else:
  26.  
    resu = {'code': 10001, 'message': '参数不能为空!'}
  27.  
    return json.dumps(resu, ensure_ascii=False)
  28.  
     
  29.  
    if __name__ == '__main__':
  30.  
    server.run(debug=True, port=8888, host='127.0.0.1')
  31.  
     

执行test_api.py,在浏览器中输入http://127.0.0.1:8888/login?name=xiaoming&pwd=11199回车,验证我们的接口服务是否正常~

变更我们的参数,查看不同的响应结果确认接口服务一切正常

推荐阅读