python中 如何添加测试用例

mac2022-10-05  25

polita3.0的框架接口如何编写测试用例如何运行测试用例

在利用caster平台进行接口管理以后,我们可以将所有的中心放在编写测试用例case。这个教程可以帮助大家快速上手添加测试用例

polita3.0的框架接口 . ```python ├── bin 这里定义了怎么生成open-api ├── ci 这里放的是CI的pipeline文件,可以每天看到测试用例的运行情况 ├── common 这里定义了一些公共方法,比如拿图片的base64,md5方法 ├── data 存放我们所需要的一些数据,比如图片、视频等等 ├── dockerfile 这个大家可以不用关心 ├── docker_run.sh 这个大家可以不用关心 ├── get-pip.py 这个大家可以不用关心 ├── openapi-env 这个是我做的虚拟环境,里面已经安装了polita3.0,方便大家运行 ├── polita.conf 这个大家可以不用关心 ├── README.md 怎么运行也可以看这个文件 ├── requirements.txt 运行case的一些环境依赖,主要包括一些python模块 ├── tests 这里就是大家完善测试用例的地方 │ ├── ars 我也不知道这个是谁建的,所以不清楚是干啥的 │ ├── backend 后端接口自动化case都放在这里,包含接口的全量测试用例 │ ├── business 应用层接口自动化case都放在这里,包含接口的全量测试用例 │ ├── concurrent.py 为了并行测试用例,主要是以前运行时间太久,代价就是需要增加一倍以上的机器 │ ├── conftest.py 定义了一些基本的方法,比如定义了API对象,一些基本功能也会放在这里,大家可以使用 │ ├── constant.py 定义了一些常量,如摄像头类型 │ ├── perf 性能测试,可以咨询性能大(dai)王 │ └── testlink 这些是一些场景的case,主要是覆盖了testlink上面的东西 ├── update_openapi_client.sh 用这个就可以生成models, 安装运行所需要的依赖 └── yaml └── FacePlatform.json 这个是从caster平台导出的接口定义,减少了我们写yaml的时间 **2. 如何编写测试用例** 测试用例基于python语言实现,只需要最简单的语法,并且了解一点点pytest知识就可以编写测试测试用例 在执行update命令以后,会产生一个新的文件夹generated,大家重点关注里面的openapi_client/api 和openapi_client/models 文件夹即可。 一个完整的测试用例如下图: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191028154340483.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNDc1MDk3,size_16,color_FFFFFF,t_70) 重点关注图中框出来的东西: 1. 这个是标签,后面可以提供给开发人员做基本的冒烟/或者跑全量测试 2. 这个是model的名字,也就是yaml文件定义的接口内容,相当于requests时候的body,可以根据url从openapi_client/models 里面找到 3. 这个是方法名,解释告诉backend_api我调用哪个接口。利用接口url从openapi_client/api/backend_api.py或者openapi_client/api/bnusiness_api可以找到 4. 这个是断言方法,推荐这么写。因为这么写在出错的时候可以直接看到错误信息 编写测试用利: 1、根据接口文档的url从对应的openapi_client/api/文档搜所对应的接口方法定义,通过url和方法可以唯一的确定一个接口的方法;然后向上找这个方法名称; ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191028154423750.png) 2.上图分别展示了方法名和参数名称,如果包含多个参数,请使用key-value传值 同时我们可以看到每个参数对应的model名称和文件名称,可以从openapi_client/models里面找到对应的model名称 3. 根据接口文档定义接口内容,生成完成测试用例 **3.如何运行测试用例** a. polita run ${testcase} 这个暂时不支持,还在等志强支持 b.pytest -s -v ${testcase} --cluster_info ${host1},${cluster_id1} --username ${username} --password ${password}
最新回复(0)