02-12 企业微信接口测试实战2

课堂 ppt

PPT地址

实战内容

接口自动化测试实战

单接口校验

  1. 调通正向用例
  2. 通过参数化的方式实现不同参数组合的测试

业务场景校验

  1. 把几个接口组成业务场景
  2. 对每个接口的响应字段正确性进行断言
  3. 对业务场景的实现进行断言(可以通过接口调用或者数据库查询)

ApiObject

日志设置

    # 设置 loging
    # 指定 log 日志的存放位置(需要先创建目录,否则会报错)
    # 指定日志的编码格式
    fileHandler = logging.FileHandler(filename="../logs/apitest.log", encoding="utf-8")
    # 设置日志的等级
    logging.getLogger().setLevel(0)
    # 设置日志的内容格式
    formatter = logging.Formatter('%(asctime)s %(name)s %(levelname)s %(module)s:%(lineno)d %(message)s')
    fileHandler.setFormatter(formatter)
    # 设置生效
    logging.getLogger().addHandler(fileHandler)

jsonpath

常用表达式

  • $ 根节点
  • . 子节点
  • … 深层扫描
  • [?(@.xxx)] 过滤表达式

框架封装思路

  • apis:接口描述
    • base_api:和业务无关,底层通用技术
    • wework:和业务强相关,进行 token 获取
    • departments:具体的业务接口的描述,描述了接口的请求参数,请求方法等等
  • testcase:测试用例以及辅助方法
    • test_department:测试用例,包括具体的数据准备、接口调用,断言
    • utils:公共方法,比如 yaml 读取,断言方法
  • data:存放数据
    • conf.yaml 存放配置数据
  • logs:存放日志

课堂代码地址

课后调查表