软件测试接口自动化测试群集·测试人在路上

接口自动化框架_pytest+jenkins+allure

2018-10-30  本文已影响4人  木沐__

本接口测试框架使用python语言实现,基于pytest测试框架,同时集成Jenkins和Allure

核心特性

  1. 封装requests请求,使用装饰器模式
  2. 详细的请求日志输出
  3. 环境与数据隔离,实现不同环境不同数据
  4. 测试用例支持参数化和数据驱动机制
  5. 使用allure测试报告,测试结果统计报告简洁清晰
  6. 集成Jenkins,实现持续集成
  7. 连接企业和个人微信告警消息系统

文件结构

  1. framework文件夹
    将requests库进行二次封装,可直接使用装饰器进行请求,例子如下:


    请求.png
  2. api文件夹
    主要存放项目的所有接口请求,建议一个项目一个文件,思路为创建一个类,而初始化方法调用登录接口,即创建一个类对象就创建了一个用户,保证后续使用时可创建多个用户


    api.png
  3. config文件夹
    主要用于环境配置,使用代码方式可以实现环境的一键切换,同时也便于集成Jenkins

# env.py

class QAFC:
    # 用户中心
    XG_USER_CENTER = 'http://****.ops.com'

    # 后台登录
    TUBOBO_MANAGE_LOGIN = 'http://******.ops.com'

    # 网关
    GATEWAY_URL = 'http://****.ops.com'

class UAT:
    # 用户中心
    XG_USER_CENTER = 'http://******/xgusercenter'

    # 后台登录
    TUBOBO_MANAGE_LOGIN = 'http://*****.com'

    # 网关
    GATEWAY_URL = 'http://*****.com'

class DEV:
    # 新光用户中心
    XG_USER_CENTER = 'http://*****.ops.com'

    # 后台登录
    TUBOBO_MANAGE_LOGIN = ''

    # 网关
    GATEWAY_URL = 'http://******/pos-engine'

# 设置环境,主要是为了后续Jenkins集成,读取环境变量
env = os.getenv('environment', 'dev')

if env == "qafc":
    CONFIG = QAFC
elif env == "dev":
    CONFIG = DEV
elif env == "uat":
    CONFIG = UAT
else:
    CONFIG = QAFC
  1. testsuites文件夹
    存放测试用例


    testcase.png
  2. jsonSchema文件夹
    存放断言返回字段以及类型的jsonSchema文件


    ya.png
  3. data文件夹
    写测试用例时需要的一些固定id,唯一值,数据库取值等,比如登录账户,查看文章详情需要id,审核时需要的id(先生成记录然后数据库读取记录 or teardown时修改数据库状态值进行数据恢复),唯一的邮箱/手机号/身份证等......

  4. log文件夹
    存放日志

Jenkins集成与Allure测试报告

前置条件:
系统管理--插件管理:安装插件allure、安装Parameterized Trigger
系统管理--全局工具配置:配置Allure Commandline


image.png
  1. 新建自由风格的job,进入job配置页面,参数化构建
    这里的environment就是代码中需要的环境变量,用于切换环境


    构建.png
  2. 源码管理


    配置git.png
  3. 配置分支


    分支参数化.png

4、构建脚本


构建.png
  1. 构建后生成Allure测试报告


    构建配置.png
    效果.png
  1. 构建后触发新的job(即告警系统)
    告警系统为一个独立的job,通过这个配置将当前job的一些参数传递给后一个job


    告警.png
  2. 告警系统使用参数化构建
    告警系统主要实现功能是实时发送构建结果给企业或个人微信用户,代码逻辑主要是调用Jenkins API获取构建、调用企业微信API获取token并发送消息


    告警系统.png
上一篇 下一篇

猜你喜欢

热点阅读