python+requests接口自动化框架

371 阅读3分钟
  • 为什么要做接口自动化框架

1、业务与配置的分离

2、数据与程序的分离;数据的变更不影响程序

3、有日志功能,实现无人值守

4、自动发送测试报告

5、不懂编程的测试人员也可以进行测试

 

  • 正常接口测试的流程是什么?

确定接口测试使用的工具----->配置需要的接口参数----->进行测试----->检查测试结果----->生成测试报告

 

  • 测试的工具:python+requests

  • 接口测试用例:excel

 

一、接口框架如下:

 1、action包:用来存放关键字函数

2、config包:用来存放配置文件

3、TestData:用来存放测试数据,excel表

4、Log包:用来存放日志文件

5、utils包:用来存放公共的类

6、运行主程序interface_auto_test.py

7、Readme.txt:告诉团队组员使用改框架需要注意的地方

二、接口的数据规范设计---Case设计

  1. 一个sheet对应数据库里面一张表

APIsheet存放
编号;从1开始
接口的名称(APIName);
请求的url(RequestUrl);
请求的方法(RequestMethod);
传参的方式(paramsType):post/get请求方法不一样
用例说明(APITestCase)
是否执行(Active)部分接口已测通,下次不用测试,直接把这里设置成N,跳过此接口

 

  1. post与get的区别
  • 查看post详情

  • post请求参数一般是json串,参数放在from表单里面;参数一般不可见,相对来说安全性高些

 

  • 查看get详情

  • get请求参数一般直接放在url里面

 

3.1注册接口用例

RequestData:请求的数据
(开发制定的传参方式)
RelyData:数据依赖
ResponseCode:响应code
ResponseData:响应数据
DataStore:存储的依赖数据;如果存在数据库里面,在表里增加一个字段用来存依赖的数据
(存储的方式是编写接口自动化的人员来设定的存储方式)
CheckPoint:检查点
Active:是否执行
Status:执行用例的状态,方便查看用例是否执行成功
ErrorInfo:case运行失败,失败的错误信息;eg:是也本身的原因还是case设置失败,还是其他原因

3.2登录接口用例

RequestData:请求的数据\
(开发制定的传参方式)\
RelyData:数据依赖\
(存储的方式是编写接口自动化的人员来设定的存储方式)\
ResponseCode:响应code\
ResponseData:响应数据\
DataStore:存储的依赖数据;如果存在数据库里面,在表里增加一个字段用来存依赖的数据\
(存储的方式是编写接口自动化的人员来设定的存储方式)\
CheckPoint:检查点\
Active:是否执行\
Status:执行用例的状态,方便查看用例是否执行成功\
ErrorInfo:case运行失败,失败的错误信息;eg:是也本身的原因还是case设置失败,还是其他原因

重点说明下RelyData:数据依赖\
采取的是字典:key:value来存储数据格式;\
{"request":{"username":"register->1","password":"register->1"},"response":{"code":"register->1"}}

格式化之后:

{
    "request":{
        "username":"register->1",
        "password":"register->1"
    },
    "response":{
        "code":"register->1"
    }
}