接口自动化测试框架搭建(3、excel的设计excel文件的读取)--python+HTMLTestRunnerCN+request+unittest+mock+db
目录
一、excel的构建
1、第一种设计方式
2、第二种设计方式
二、读取excel的方法封装
相关文章:
1、接口自动化测试框架搭建(1、环境、框架的思路及目录构成)--python+HTMLTestRunnerCN+request+unittest+mock+db
https://blog.csdn.net/Mojitoice/article/details/108992622
2、接口自动化测试框架搭建(2、配置文件&配置文件的读取)--python+HTMLTestRunnerCN+request+unittest+mock+db
https://blog.csdn.net/Mojitoice/article/details/109031074
hello,小伙伴,之前我有写过一个类似的文章,https://blog.csdn.net/Mojitoice/article/details/107020961
不同的地方就在于本次是已接口自动化测试框架为背景,如何构建一个excel以及封装读取excel的方法
一、excel的构建
对于不同的请求方式,我在这里有所区分,但实际中也会根据不同的业务场景进行增加,就比如请求接口需要登录态,可能就需要加上header这一列。如果没有对登陆态进行校验的话,就不需要加这列
1、第一种设计方式
举一个简单的例子嗷~
其中主要包括了,caseName,apiPath,apiName,priority(权重),method,purpose,params(post请求的body)
caseName:指测试用例的名称,可以是环境 + 接口 + 正常/异常case + 需要校验的字段 ,上面表格中的太过简单了。
apiPath:指api的路径,在这里写好是为了后续读取apiPath + 在config.ini中配置好的域名。从而得到具体的请求url
apiName:指接口的名称
priority :后续可以根据权重进行判断该用例是否需要执行。或者是否需要mock
method:请求的方式
purpose:期望返回值,这个可以是具体返回的json。也可以是一个值,看个人的需求。主要是用于之后的断言
params:post请求的body。
这种方式比较适合post请求,如果是get请求的话,还需要对params进行处理
2、第二种设计方式
caseName:指测试用例的名称,可以是环境 + 接口 + 正常/异常case + 需要校验的字段 ,上面表格中的太过简单了。
apiPath:指api的路径,在这里写好是为了后续读取apiPath + 在config.ini中配置好的域名。从而得到具体的请求url
apiName:指接口的名称
priority :后续可以根据权重进行判断该用例是否需要执行。或者是否需要mock
method:请求的方式
purpose:期望返回值,这个可以是具体返回的json。也可以是一个值,看个人的需求。主要是用于之后的断言
left_top_x_percent:是该接口url的请求参数
left_top_y_percent:是该接口url的请求参数
right_bottom_x_percent :是该接口url的请求参数
这种方式就比较适合get请求,直接读取到各种参数,拼接成url即可,如果是post请求的话,还需要转化为dict,然后json,然后进行请求。
二、读取excel的方法封装
该方法的路径为:/Users/dongyue/Documents/framework/testFile/readExcel.py
import os
from getPath import GetPath
from xlrd import open_workbook#项目的绝对路径
path = GetPath().getPath()class ReadExcel():def getexcel(self,excel_name,sheet_name):case_set = []excelpath = os.path.join(path,"excel",excel_name) #拼接excel的路径excel = open_workbook(excelpath) #excel对象sheet = excel.sheet_by_name(sheet_name) #获取该excel的sheetrows = sheet.nrows #获取该sheet的行数for i in range(rows):if sheet.row_values(i)[0] != 'case_name':case_set.append(sheet.row_values(i))return case_setif __name__ == '__main__':print(ReadExcel().getexcel('Token.xlsx', 'Sheet1')
getPath 这个在之前的博文里~
接口自动化测试框架搭建(3、excel的设计excel文件的读取)--python+HTMLTestRunnerCN+request+unittest+mock+db相关推荐
- API接口自动化测试框架搭建(一)-总体需求
(一)-总体需求 1 实现目的 2 功能需求 3 其他要求 4 适用人员 5 学习周期 6 学习建议 7 内容直达 8 反馈联系 1 实现目的 API接口自动化测试,主要针对http接口协议: 便于回 ...
- Python+unittest+requests 接口自动化测试框架搭建 完整的框架搭建过程 实战
一.Python+unittest+requests+HTMLTestRunner 完整的接口自动化测试框架搭建_00--框架结构简解 首先配置好开发环境,下载安装Python并下载安装pycharm ...
- 接口自动化测试框架搭建:基于python+requests+pytest+allure实现
目录 一.接口自动化测试框架需要具备什么功能? 二.接口自动化测试框架目录结构 三.日志监控文件的信息 四.搭建具有企业Logo的定制化报告. 众所周知,目前市面上大部分的企业实施接口自动化最常用的有 ...
- 接口自动化测试框架搭建总结
自动化测试框架搭建: 个人自动化测试框架的gitlab地址:https://gitee.com/wangxinbo112/ApiTestDemo.git 框架搭建思想:采用数据驱动和分层设计的思想,即 ...
- pytest接口自动化测试框架搭建
文章目录 一. 背景 二. 基础环境 三. 项目结构 四.框架解析 4.1 接口数据文件处理 4.2 封装测试工具类 4.3 测试用例代码编写 4.4 测试用例运行生成报告 一. 背景 Pytest目 ...
- Python接口自动化测试框架搭建
此框架是基于python的unittest单元测试框架写的.写的有点简单,有些地方可能不是很完整,后期在逐步完善. 先来看下框架的目录布局: common :公共的方法目录 conf: 配置文件存放目 ...
- python 爱心文字墙_博客园墙裂推荐!从未见过如些清新脱俗的完整Python+requests接口自动化测试框架搭建文章!...
前言 很多小伙伴不知道什么是框架?框架有哪些东西? 一步步从需求分析到报告生成告诉你如何搭自动化建框架. 学完unittest后这里基本上可以搭建一个简易的项目框架了,我们可以用一条run_main. ...
- python restful接口自动化_从未见过如些清新脱俗的完整Python+requests接口自动化测试框架搭建文章!...
前言 很多小伙伴不知道什么是框架?框架有哪些东西? 一步步从需求分析到报告生成告诉你如何搭自动化建框架. 学完unittest后这里基本上可以搭建一个简易的项目框架了,我们可以用一条run_main. ...
- API接口自动化测试框架搭建(四)-Python依赖环境安装
Python依赖环境安装 1 依赖包及版本 2 依赖包安装方法 2.1 方法一:pip直接装 2.2 方法二:requirements.txt安装 3 目前项目结构 这里单独把Python依赖环境拿出 ...
- java接口测试框架搭建_接口自动化测试框架搭建
一.原理及特点 参数放在XML文件中进行管理 用httpClient简单封装一个httpUtils工具类 测试用例管理使用了testNg管理,使用了TestNG参数化测试,通过xml文件来执行case ...
最新文章
- Android面试常问到的知识点
- c# 返回一个对象实例的浅副本
- python函数映射教学,Python 序列与映射的解包操作
- MongoDB使用经验总结
- [GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及
- 基于PHP的校园bbs论坛系统
- SHA256算法原理详解图
- 关于STVP写保护等级2的问题
- sin、cos三角函数计算
- win10不让桌面上显示宽带连接服务器,Win10宽带连接不见了
- 求解字谜游戏问题-数据结构与算法分析-C语言描述 Mark Allen Weiss-第一章练习题
- 如何挖掘站外营销推广策略
- 你还不会用python进行数据分析吗
- 【牛客网OJ题】计算糖果
- 字节跳动校招前端面经(2021.03.16)
- 计算机组成原理扩展指令CLC实验报告,计算机组成原理实验报告.doc
- 大数据笔试题目练习(附答案)
- 力扣解法汇总917-仅仅反转字母
- sql注入基础(一)
- RPA机器人的10大基础功能与2大类型
热门文章
- C# EXCEL 透视表使用 多行多列的导出透视表
- 机器学习课程笔记【三】广义线性模型(2)-构建广义线性模型
- 图像语义分割(14)-FastFCN: 重新思考语义分割模型主干网络中的扩张卷积
- 机器学习笔记(二)——元学习
- 最新开源:BundleTrack - 无需任何CAD模型的6D物体姿态跟踪算法(谷歌X实习生)...
- 最大矩形面积(C++实现)
- Nginx集群之基于Redis的WebApi身份验证
- dbvisulizer 存储过程
- 爬虫从网页中去取的数据中包含nbsp;空格
- TDirectory.GetDirectoryRoot获取指定目录的根目录