更新readme文件,增加用例依赖说明
This commit is contained in:
28
Pipfile
28
Pipfile
@@ -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]
|
||||
|
||||
|
||||
68
README.md
68
README.md
@@ -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
|
||||
2)ENV_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, BLOCKER,CRITICAL,MINOR,TRIVIAL; 为空和错误都认为是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)
|
||||
|
||||
|
||||
|
||||
## 赞赏
|
||||
如果这个库有帮助到你并且你很想支持库的后续开发和维护,那么你可以扫描下方二维码随意打赏我,我将不胜感激
|
||||

|
||||
15
requirements.txt
Normal file
15
requirements.txt
Normal 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
|
||||
Reference in New Issue
Block a user