更新readme文件,增加用例依赖说明

This commit is contained in:
floraachy
2023-12-19 15:13:20 +08:00
parent 18daffe713
commit cfa9fa52cf
3 changed files with 85 additions and 26 deletions

28
Pipfile
View File

@@ -4,23 +4,23 @@ verify_ssl = false
name = "pip_conf_index_global"
[packages]
pymysql = "*"
loguru = "*"
requests-toolbelt = "*"
pymysql = "==1.1.0"
loguru = "==0.7.2"
requests-toolbelt = "==1.0.0"
requests = "*"
openpyxl = "*"
sshtunnel = "*"
yagmail = "*"
pyyaml = "*"
click = "*"
faker = "*"
jsonpath = "*"
openpyxl = "==3.1.2"
sshtunnel = "==0.4.0"
yagmail = "==0.15.293"
pyyaml = "==6.0.1"
click = "==8.1.7"
faker = "==21.0.0"
jsonpath = "0.82.2"
pytest = "==6.2.5"
pytest-rerunfailures = "*"
pytest-rerunfailures = "==12.0"
allure-pytest = "==2.9.45"
pydantic = "*"
xpinyin = "*"
"ruamel.yaml" = "*"
pydantic = "==2.5.2"
xpinyin = "==0.7.6"
"ruamel.yaml" = "==0.18.5"
[dev-packages]

View File

@@ -74,17 +74,26 @@ https://gitlink.org.cn/floraachy/apiautotest.git
2. 本地电脑搭建好 python环境我使用的python版本是3.9。包括allure测试报告所需的java环境安装jdk
3. 安装pipenv
3. 安装环境依赖包
1) 方法一使用pipenv管理所有依赖
```
# 建议在项目根目录下执行命令安装
# 安装pipenv, 这个需要全局安装。建议在项目根目录下执行命令安装
pip install pipenv
# 使用pipenv管理安装环境依赖包必须在项目根目录下执行
pipenv install
# 注意使用pipenv install会自动安装Pipfile里面的依赖包该依赖包仅安装在虚拟环境里不安装在测试机本机
```
2方法二使用requirements.txt一键安装所有依赖
```
pip install -r requirements.txt
4. 使用pipenv管理安装环境依赖包pipenv install (必须在项目根目录下执行
```
注意使用pipenv install会自动安装Pipfile里面的依赖包该依赖包仅安装在虚拟环境里不安装在测试机。
# 注意:这种方式安装,会将依赖包全部安装在测试机(本机
```
如上环境都已经搭建好了,包括框架依赖包也都安装好了。
<br/>
@@ -110,18 +119,20 @@ pip install pipenv
2ENV_VARS["test"]是保存test环境的一些测试数据。ENV_VARS["live"]是保存live环境的一些测试数据。如果还有其他环境可以继续增加例如增加ENV_VARS["dev"] = {"host": "", ......}
### 3. 删除框架中的示例用例数据
1删除 `data`目录下所有的YAML和EXCEL文件
1删除 `interface`目录下所有的YAML和EXCEL文件(每一个文件都保存的接口测试用例)
2删除 `test_case/test_manual_case`目录下所有手动编写的用例,后续有需要可以在该目录下手动编写用例。
注意conftest.py文件中非业务相关的代码可以保留。
### 4. 编写测试用例(两种方式任选其一或者都选)
#### 1自动生成测试用例 `data` `test_case.test_auto_case`
- 在目录`data`下新建一个YAML/Excel文件。按照如下字段要求进行测试用例数据添加
- 在目录`interface`下新建一个YAML/Excel文件。按照如下字段要求进行测试用例数据添加
- 注意如果需要自动创建测试用例文件YAML/Excel文件的文件名需要以"test"开头。
#### 2手动编写测试用例 `data` `test_case.test_manual_case`
#### 2手动编写测试用例 `interface` `test_case.test_manual_case`
- 原则上如果是手动编写测试用例python代码 测试用例数据文件不要以"test"开头。 如果以“test”开头可能导致用例运行多次。
1在目录`data`下新建一个YAML/Excel文件按照要求编写测试用例数据
1在目录`interface`下新建一个YAML/Excel文件按照要求编写测试用例数据
2在test_case.test_manual_case下新建一个以"test"开头的测试方法,进行测试用例方法编写。
### 5. 用例中相关字段的介绍
@@ -134,7 +145,7 @@ case_common :公共参数
case_markers: 给测试方法添加标记支持自定义标记skip, usefixtures。 格式是列表嵌套字符串或者字典。例如: # ['glcc', {'skip': '跳过执行该用例'}]
case_info: 具体的用例数据,是以列表的形式进行管理
-
id用例id
id用例id,注意需要全局唯一,方便后续用于用例接口依赖
title用例标题
severity: 用例优先级支持如下几种NORMAL BLOCKERCRITICALMINORTRIVIAL 为空和错误都认为是NORMAL
run是否执行用例为空或者True都会执行为False则不执行。
@@ -145,9 +156,10 @@ case_info: 具体的用例数据,是以列表的形式进行管理
request_type请求数据类型params, json, file, data
payload请求参数
files: 需要上传的文件,参考如下传参:{接口中文件参数的名称:'文件路径地址'}
extract后置提取参数
assert_response响应断言
assert_sql数据库断言
extract后置提取参数
case_dependence 用例依赖
```
### 6. 参数提取说明
@@ -288,9 +300,31 @@ case_info: 具体的用例数据,是以列表的形式进行管理
expect_value: ${user_id}
assert_type: contains
```
### 9. 用例依赖说明
目前用例依赖仅支持接口依赖,数据库依赖后续会补充。
依赖的配置说明:
```
case_dependence: 用例依赖,为空时表示没有依赖:
setup: 前置依赖信息,为空时表示没有依赖
interface: 用例依赖的接口id支持str和list格式。接口id指的是每一个YAML/EXCEL用例中的ID
sql: 数据库查询语句,后续支持后将补充
teardown: 后置依赖信息,为空时表示没有依赖
interface: 用例依赖的接口id支持str和list格式。接口id指的是每一个YAML/EXCEL用例中的ID
sql: 数据库查询语句,后续支持后将补充
```
参考示例:
```
case_dependence:
setup:
interface: gitlink_login_oauth_token_01
teardown:
interface:
- gitlink_projects_delete_project_01
sql:
```
### 9. Excel用例单独说明
### 10. Excel用例单独说明
框架支持excel多表单自动生成测试用例每一个表单作为一个测试用例模块。
例如:
excel表格名称是test_demo.xlsx
@@ -382,9 +416,19 @@ excel表单2名称是示例模块
- [如何配置企业微信通知?](https://www.gitlink.org.cn/zone/tester/newdetail/241)
我们通过封装企业微信机器人发送通知。
- [python虚拟管理工具--pipenv使用教程](https://www.gitlink.org.cn/zone/tester/newdetail/505)
在使用Python语言的时候我们使用pip来安装第三方包但是由于pip的特性系统中只能安装每个包的一个版本。但是在实际项目开发中不同项目可能需要第三方包的不同版本Python的解决方案就是虚拟环境。
顾名思义虚拟环境就是虚拟出来的一个隔离的Python环境每个项目都可以有自己的虚拟环境用pip安装各自的第三方包不同项目之间也不会存在冲突。
创建虚拟环境需要一些工具, 我们使用pipenv来创建虚拟环境和管理依赖包。
## 九、初始化项目可能遇到的问题
- [测试机安装python版本与本框架要求不一致怎么办](https://www.gitlink.org.cn/zone/tester/newdetail/245)
- [无法安装依赖包或者安装很慢,怎么办?](https://www.gitlink.org.cn/zone/tester/newdetail/244)
## 赞赏
如果这个库有帮助到你并且你很想支持库的后续开发和维护,那么你可以扫描下方二维码随意打赏我,我将不胜感激
![打赏](https://www.gitlink.org.cn/api/attachments/437395)

15
requirements.txt Normal file
View File

@@ -0,0 +1,15 @@
allure-pytest==2.9.45
click==8.1.7
Faker==21.0.0
jsonpath==0.82.2
loguru==0.7.2
openpyxl==3.1.2
pydantic==2.5.2
PyMySQL==1.1.0
pytest-rerunfailures==12.0
PyYAML==6.0.1
requests-toolbelt==1.0.0
ruamel.yaml==0.18.5
sshtunnel==0.4.0
xpinyin==0.7.6
yagmail==0.15.293