# Nami **Repository Path**: Cassowary/Nami ## Basic Information - **Project Name**: Nami - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-02 - **Last Updated**: 2021-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Nami > Nami -- 唤潮鲛姬, 引自「英雄联盟」中的一个英雄角色名, 它是一个非常全能的进攻型辅助英雄。 以此寓意, 希望该自动化工程可以很好的辅助我们的接口测试、回归测试、线上巡检以及未来的测试左移等。 ### 结构 > 框架结构如下: ```bash ▁ /Users/lomo/work/qa/Nami ├── cases ├── common ├── config ├── config.py ├── conftest.py ├── data ├── locust ├── logs ├── readme.md ├── report ├── requirements.txt ├── run.py ├── temp ├── template └── utils ``` ### Help 1. 在本工程(http://git.missfresh.cn/mryt-qa/nami)页面 `fork` 该项目 2. 本地 `clone` 工程并安装依赖 `pip3 install -r requirements.txt` 3. 本地 `checkout` 自己的开发分支, 如: `dev_yourName` 4. 添加测试用例, 在 `cases` 和 `data` 文件夹下自主组织自己的用例与测试数据维护(编码规范遵循 PEP8) 5. 本地运行自己编写的测试脚本并**通过** 6. `push` 自己的变更至个人仓库, 然后创建相应的 `MR`, 并联系组内同事 `review` 7. `reviewer` 及时处理 review 请求并给予合理的 `comment`, 提交者及时关注并修改提交代码 8. review 通过, `MR` 合并 9. 通过 `hook` 自动触发 `Jenkins` 构建等 `pipeline` 流程 10. 自动执行相关测试任务并产出报告与通知(Email、Lark ...) ### 用例编写指南 1. 所有用例,根据自己项目或其他条件在cases目录下划分结构 2. case编写基于pytest,文件名、类、测试函数命名尽量遵守pytest规范 3. 用例文件默认导入项 import allure import pytest from common.check_data import * from common.dorequest import MyRequest 4. 编写测试文件时,首先进行请求的实例化,参数为yml数据文件路径,获取请求参数 req = MyRequest('D:\\nami\\data\\getUserTotal.yml') 5. 封装后请求方式为result = req.post(0) 参数0为用例多条时,取下标对应的参数集合,仅一条时,传0 6. 若测试用例同个类下面存在多个场景(测试函数),将第一个测试函数尽量用作基本测试场景,并用@pytest.mark.smoke进行标记,以便后续方便进行冒烟测试执行 7. 若存在一个测试类中的多个测试方法中关联上下文参数传递,根据框架特性,可以将请求响应的参数对实例化属性进行赋值替换,然后进行下一个接口请求传入替换的属性 例如:上一个接口返回属性为next 则:类中声明类变量 uid = '' 第一个请求中定义全局变量 global uid 更新赋值类属性 self.req.data[1] = self.req.data[1].update({'uid': "宋老三"}) 那么第二个请求调用时,正常调用即可 ### 程序参数化运行 1. python run.py -h 获取帮助信息