接口自动化测试基础07-框架梳理

——api_keyword / api_key.py:

                class ApiKey:get、post、get_text、sql_check、jsonDeepDiff

——Common:encryptAes.py和encryptRsa.py

——Common / FileDataDriver.py:

                class FileReader:

                        readExcelToDict                

                        writeDataToExcel

                        readYaml

                        wirteYaml

                        replace_variable_references

                        data_encryptAes

——data / Excel Yaml

——log / log.log

——report_allure

——result

——testcase

  1. 读取所有数据 readExcelToDict()
  2. 实例化ApiKey对象
  3. 生成对应标题 __dynamic_title()
  4. 解决url带参数问题,@数据加密问题,然后发送请求得到响应
  5. 进行响应数据的断言处理,提取数据__json_extraction(),响应全量断言
  6. 数据库进行断言操作
  7. 数据库进行数据提取
  8. 结果写入到result中

——config.py 全局变量维护

        URL,excel路径,msg提示信息,数据库连接信息,密钥

——conftest.py

        token_fix()

        pytest_runtest_makereport()

——pytest.ini

框架描述:

框架包含的模块:总

1. 报告层【report / result】:Allure

2. 封装层:

  • 关键字:key_word,ApiKey:
  • 公共方法【Common】:加密 / 解密,数据驱动(文件读写)

3.测试用例层【testcase】:用例解析

4. 控制层【main_run.py】:失败重跑,冒烟,跳过,报告生成

5. 数据层【data】

6. 数据源:Mysql,Yaml,Excel

7. 配置层【config.py】:维护全局变量

 

每个模块对应的功能:分

1. 报告层:底层基于Allure进行封装集成,具备用例执行结果统计、日志收集、接口参数抓取等功能。

【亮点】:统计、数据(可读性高)、目录结构也比较清晰、需要的内容齐全-- 给别人看

2. 封装层:底层基于Requests,应用关键字驱动以及数据驱动模式,进行了封装。封装了接口请求方法、报文解析、数据库断言、接口加解密等项目落地过程中接口的常见操作。

【亮点】:

1)封装了数据库查询方法,只需要传入sql即可获得结果,不需要重复编写大量数据库连接代码;

2)同时进行请求数据的处理,比如请求数据进行加密/解密的方法封装,通过参数@来进行标识。

3)同时引入DeepDiff库,实现全字段断言。(同时你可以忽略顺序、忽略大小写、忽略某个字段、忽略类型)

3. 测试用例层:引用已封装好的关键字,集成Excel/Yaml作为用例编写入口,所以后期测试人员只需要,维护Excel或者Yaml即可。

【亮点】:通过Excel或Yaml可编写用例,降低框架用例编写难度,Excel以及Yaml实现了多接口多字段关联、数据库断言、数据库sql和接口参数关联等功能。(模板升级:之前excel是元组通过下标去获取, 我通过key去获取;之前的模板可读性差,不知道要怎么去进行维护,我这边加一个备注说明:方面后 面测试阅读)

4. 控制层:底层基于Pytest,实现了用例分组排序、失败重跑、用例跳过(False)、前置后置等功能

【亮点】:失败重跑、用例分组执行等等。

5. 数据层:Excel/Yaml/MySQL

6. 配置层:配置全局变量及环境变量 

框架实现的效果:

只需要测试人员维护对应的excel,就能实现自动化运行,结合Jenkins

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值