WTI测试用例-weihua
立即下载
资源介绍:
WTI测试用例-weihua
# 目录
cloud_llm: 云端AI自动化测试项目
- [目录](#目录)
- [开发环境部署](#开发环境部署)
- [Mac or Linux](#mac-or-linux)
- [Windows](#windows)
- [激活 python 虚拟环境](#激活-python-虚拟环境)
- [测试用例生成与开发](#测试用例生成与开发)
- [需要注意的点](#需要注意的点)
- [测试用例收集与上报](#测试用例收集与上报)
### 开发环境部署
#### Mac or Linux
```sh
# 执行部署环境 shell 脚本
bash deploy_env.sh
```
#### Windows
```sh
# 如果你想设置允许运行任何脚本可以将 PowerShell 的执行策略设置为 Unrestricted
# 以管理员身份运行 PowerShell 并执行以下命令
Set-ExecutionPolicy Unrestricted
# 执行部署环境 PowerShell 脚本
powershell deploy_env.ps1
```
### 激活 python 虚拟环境
```
# Mac or Linux
source venv/bin/activate
# Windows
.\venv\Scripts\Activate.ps1
```
### 测试用例生成与开发
提供了两个脚本用于生成测试用例 demo 文件
- generate_demo_test_case.py: 通过模版自动生成测试用例 demo 文件, 只需要在生成的文件基础上进行修改与开发即可
- generate_ai_demo_test_case.py: 通过大模型结合 jmock(Yapi) 平台接口信息自动生成接口测试用例 demo 文件, 会自动将接口相关信息(headers, body)填入到测试用例中, 并可以根据接口信息生成基本断言, 只需要在生成的文件基础上进行修改与开发即可
```
# 通过模版生成
python generate_demo_test_case.py
# 通过大模型生成
python generate_ai_demo_test_case.py --yapi_username <你的Yapi用户名, 例如: tianyou.lan> --yapi_password <你的Yapi密码, 例如: xxxxxxx> --yapi_project_id --yapi_interface_id --apollo_domain_app_name <你的apllo域名配置的应用名(在appid为peqa的apollo中key为domains的配置中查看), 例如: user_vehicle_relation>
```
#### 需要注意的点
在测试用例文件中, 位于测试方法顶部的 generate_case_info 代码块作用于用例信息的描述与收集, 具体结构如下:
```python
generate_case_info(
case_desc="测试 lifeservice 接口", # 用例描述信息
case_level=0, # 用例等级, 数字 n 对应 Pn 级别, 例如: case_level=0 则代表用例为 P0 级别
sub_module_cn_name="子模块名", # 如果有子模块名就写子模块名, 如果没有的话这个可以不写, 默认就是 ""
case_owner="tianyou.lan", # 用例的负责人
case_tags=["巡检用例", "冒烟用例"], # 用例的标签, 一个用例可对应多个标签
case_type=CASE_TYPE.SERVER, # 用例的类型
server_api_map={
"被测接口应用名1": ["被测接口路径1", "被测接口路径2"],
"被测接口应用名2": ["被测接口路径1", "被测接口路径2"],
...
"被测接口应用名n": ["被测接口路径1", "被测接口路径2"],
} # 当 case_type 为 CASE_TYPE.SERVER 时需要填写, 否则无法支持服务 HA 平台可视化关联映射
class_name=self.__class__.__name__, # 如果测试方法在类中, 则使用 self.__class__.__name__ 自动获取 class_name, 否则写 "" 即可
method_name=get_pytest_current_test_method_name(), # 自动获取测试方法名
case_file_path=__file__, # 用例所在文件路径
mod_name=__name__, # 用例所在包名信息
data_report=False, # 开关控制是否上报用例信息到自动化测试平台(True: 上报; False: 不上报)
)
```
其中 server_api_map 中:
- 被测接口应用名: [在 Millow 平台查看](https://millow.jiduprod.com/millow/project/detail?id=1887)
- 被测接口路径: 在 Prometheus 平台查看
- [GRPC 接口路径查询](https://prometheus.jidudev.com/graph?g0.expr=sum%20by(namespace%2C%20project_name%2Curi)(rate(grpc_server_requests_seconds%7Benv%3D%22staging%22%7D%5B5m%5D))%0A&g0.tab=1&g0.stacked=0&g0.show_exemplars=0&g0.range_input=1h&g0.end_input=2023-12-21%2002%3A25%3A25&g0.moment_input=2023-12-21%2002%3A25%3A25)
- [HTTP 接口路径查询](https://prometheus.jidudev.com/graph?g0.expr=sum%20by(namespace%2C%20project_name%2Curi)(rate(http_server_requests_seconds%7Benv%3D%22staging%22%7D%5B5m%5D))%0A&g0.tab=1&g0.stacked=0&g0.show_exemplars=0&g0.range_input=1h&g0.end_input=2023-12-21%2002%3A25%3A25&g0.moment_input=2023-12-21%2002%3A25%3A25)
### 测试用例收集与上报
执行以下命令收集并上报用例信息到自动化测试平台
```
# 收集全部测试用例信息
python start.py -m collect
# 收集指定子模块的测试用例信息
python start.py -m collect -p /path/to/your/<子模块名>
# 上报收集的测试用例信息
python regist_cases.py
```
资源文件列表:
cloud_llm-master.zip 大约有153个文件