接口自动化测试,使用requests发送请求、pytest管理、allure生成报告
-project 项目
-api 封装请求类
-config 配置文件
-data 测试数据机用例
-log 日志
-tools 工具包
-uat 实际测试目录,可根据实际情况进行分层扩展
-project```
####restful风格接口类型一般可分为如下几种
![输入图片说明](image.png)
#### yaml测试用例说明
default: &header header: { "connect-type": "json/application", "Authorization":"asdasdad1231123asd123321" }
test_case:
number: 10001 #用例编号
name: 用例1 #用例名称
url: /app/commission/local-rate/{cpCode}/{planCode} #接口地址 此接口参数是在路径上,参数值用[111,333]设置,值得顺序要与参数顺序一致
method: get #请求方式
header: {} #请求头 可引用 参见下面case
paramType: path #参数类型 路径参数
paramData: #参数值
[111,333]
pre_sql: #前置sql
post_sql: #后置sql
expect: #预期结果
code: 0
message: 查询成功
number: 10002 name: 用例2 url: /multiele/product method: post <<: *header #yaml变量引用,参见yaml语法 paramType: json paramData: { "acceptChannel": "", "acceptChannelCode": "", "basicLow": "", "branchCodes": [], "closingDate": "", "companyCode": "", "companyCodeArray": [], "mainInsurance": "", "onlineDate": "", "productCode": "", "productId": "", "productName": "", "productPeriod": "", "residentCodes": [] } pre_sql: post_sql: expect: code: 0 message: 查询成功
number: 10003 name: 编辑时回显产品配置信息 url: /stage-api/multiele/product/list/no/page method: get <<: *header paramType: query paramData: { "pageNum": 1, "pageSize": 10, "productId": /$.10002.rows.0.productId/ #设置jsonpath表达式变量从返回结果中提取数据,见使用说明 } pre_sql: post_sql: expect: $.code: 0 $.msg: SUCCESS result_save: yes
#### 安装教程
所需python库:requests,pyyaml、allure-pytest、pytest,xlrd,jsonpath,loguru(日志模块)
#### 使用说明
1. 接口关联,参数传递:通过设置全局字典的方式,把需要保存的返回结果保存到其中,通过jsonpath提取方式
如上#yaml测试用例说明#中,编号10003用例参数productId需要从用例编号10002中提取,设置方式为/$.10002.rows.0.productId/
2. 路径参数变量设置为 $.10002.rows.0.productId
3. xxxx
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。