- 一. 项目框架结构
- 二. 平常需要使用到的工具函数
- 三. 如何编写业务脚本
- 四. 配置文件以及相关其他配置的说明
- 4.1 Config配置文件模块目录
- 4.2 Config模块下base_conf模块,主要存放各个环境下相关站点的基础配置
- 4.3 Config模块下的base_header_conf模块,存放各个站点所公用的header
- 4.4 Config模块下的base_login_conf模块,存放各个站点登录所使用的账号密码相关信息
- 4.5 Config模块下的base_mongo_conf模块,存放Mongo数据库不同站点相关账号密码信息
- 4.6 Config模块下的base_mysql_conf模块,存放Mysql数据库不同站点相关账号密码信息
- 4.7 Config模块下的base_redis_conf模块,存放redis数据库不同站点相关账号密码信息
- 4.8 Config模块下的base_sign_conf模块,存放签名加密相关的公钥密钥相关信息
- 4.9 Config模块下的base_url_conf模块,存放各个站点接口的url路径
- 五. 如何编写场景case脚本
- 六. 如何编写单接口case脚本
- 七. 如何去配置运行case脚本
- 八. run入口函数的讲解
一. 项目框架结构
二. 平常需要使用到的工具函数
2.1 json的使用
2.2 yaml的使用
2.3 断言的使用
2.3.1 断言 函数一的使用
2.3.2 断言 函数二的使用
2.4 Common/function/data_process.py文件的使用
三. 如何编写业务脚本
3.1 业务函数之间的对应关系
3.2 父类函数的编写
3.3 站点函数的编写
3.3.1示例函数一: post请求
ps:定义的函数名若与excel的sheet名保持一致,则函数名不能超过31个字符
3.3.2示例函数二: delete请求 处理 api中 需用通过 ‘/‘ 进行拼接的
3.3.3示例函数三: 函数中调用其他函数时怎么操作
3.3.4示例函数四:需要返回请求的body时
3.4 PO的baseReq 的使用规范
3.4.1 HttpClient初始化部分
3.4.2 类中包含的方法
3.4.3 具体函数内部细节讲解
四. 配置文件以及相关其他配置的说明
4.1 Config配置文件模块目录
4.2 Config模块下base_conf模块,主要存放各个环境下相关站点的基础配置
4.3 Config模块下的base_header_conf模块,存放各个站点所公用的header
4.4 Config模块下的base_login_conf模块,存放各个站点登录所使用的账号密码相关信息
4.5 Config模块下的base_mongo_conf模块,存放Mongo数据库不同站点相关账号密码信息
4.6 Config模块下的base_mysql_conf模块,存放Mysql数据库不同站点相关账号密码信息
4.7 Config模块下的base_redis_conf模块,存放redis数据库不同站点相关账号密码信息
4.8 Config模块下的base_sign_conf模块,存放签名加密相关的公钥密钥相关信息
4.9 Config模块下的base_url_conf模块,存放各个站点接口的url路径
格式规范:
class 类名+Api:
# 接口路径说明
路径最后一个单词+_api = “接口url路径”
五. 如何编写场景case脚本
5.1 case层 该调用哪些东西
5.1 情况一 json文件中写的是以case.py为字典格式的场景
5.2 情况二 json文件中写的是以业务函数的body为格式的场景
这时候不需要导下面两个包
from Common.file_tool.base_file import getCurrent_filename from Common.file_tool.base_json import GetJsonDate
5.2 场景脚本迁移接口调用方法示例:
示例一
场景的json文件是通过工具把旧框架中的场景excel转成json格式的
>调用接口方法,传入的body是一个完整的body
>如果需要对resp进行断言,在脚本中可以做
需要注意的点:![]()
示例二 json文件中传默认值, case中直接调取函数, 传值一部分变量参数
- 子类文件中 读取默认的json—body体
- 业务函数与json中的对应关系
- 具体case中的编写方式
- 示例1 Cases/VehicleCenter/sg/scenarioCases/Tserver/Test001_Tserver01.py
- 示例2 Cases/VehicleCenter/sg/scenarioCases/Tserver/Test002_Tserver02.py
六. 如何编写单接口case脚本
6.1新版的excel文件格式与老板的对比(图1:新版,图2:旧版):
新版excel删除 Req_type 和 Req_interface
>Req_platform字段 Operation 改为 OperationTest,app改为 appTest
>sheet_name 与我们定义好的接口方法函数名保持一致![]()
6.2 单接口脚本迁移到新框架
6.2.1 前置条件
6.2.2 修改excel文件
修改每个sheet的名字,使其与我们定义好的接口方法函数名保持一致
>不用删除 Req_type 和 Req_interface字段,但是以后新写的excel要删除这两个字段6.2.2 编写python脚本
6.3新版的单接口脚本示例:
七. 如何去配置运行case脚本
7.1.运行环境文件CICD-env-xmlConf.xml,文件目录层级为:
站点:sg(东盟),欧盟(eu),俄罗斯(rus)
环境:Test 测试环境 ,Pre 预生产环境, Pro 生产环境 例子如下图:![]()
7.2 cicd-job怎么配置
八. run入口函数的讲解
8.1 cicd入口函数-代码讲解
命令行执行命令
python suits_runner.py -w=True —env=sg —proj=VehicleCenter —reruns=2 —delay=2 —timeout=120![]()
8.2 冒烟入口函数-代码讲解
命令行执行命令
python suits_runner.py —env=sg —proj=VehicleCenter —timeout=120 —reruns=0 —delay=2