python3+request接口自动化框架
首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~
一、本次框架由python3.6 书写
1、准备代码环境,下载python3.6 下载地址:https://www.python.org/downloads
2、下载pycharm 软件。
二、开始创建python接口自动化框架:
1、
这是我创建的框架中的各个文件夹,分别有config 配置文件夹、fengzhuang 将接口用get post 两种传输方式进行封装并自动来区分执行。
2、logfile 用来存放测试用例执行后 ,log日志的保存。
3、public_common 用来存放一些公共的方法,比如断言、日志、获取excel表格中的用例。
4、result 用来存放运行测试用例后,生成的html报告。
5、test_case 用来存放测试用例代码。
6、test_case_data用来存放测试的excel测试用例。
7、最重要的脚本运行的入口。
三、文件夹代码开始填充:
1、config文件夹中创建Config_file.py 文件。应为我Config_file文件中只书写了一个失败重试的次数限制,就不截图显示了,哈哈 自己写下就好
2、logs文件夹中创建logtest文件夹(logtest的意思是曾经写了一个log文件 感觉不太好,又从新写了一个以test命名来进行实验的一直也就没改,哈哈)
2.1、
啊
先创建一个log代码,来进行log的获取与存储。当没有log文件储存的文件夹logfile是会自动创建一个
3、log已经创建成功后,改开始进行接口GET POST 传输带的参数进行一个代码书写。
3.1:
get与post 分别创建了两个函数因为post与get的代码差不多 就不对post进行截图了,此代码是对接口进行请求并将返回的json数据进行转换并对代码进行容错(容错位置可能有问题,如果没成功,可以下方评论联系我!)
4、请求参数代码创建完成后,对数据可以进行断言来判断返回的数据是否准确喽:
4.1、我在上方先导入了一个log文件,一个图没截下来,再次说明下哈,

因为我写的是PHP的接口返回,我的接口返回的数据主要判断下接口里data list 中是否有数据 ,现在判断的比较简单,断言的name主要是用在case运行时带一个用例名称好进行纪录。
5、现在数据传参、断言下面 对case中返回的接口传输方式get、post 进行一个封装,使其自动进行判断 啦啦啦 !
5.1、上代码


两个图截的有点low了 ,再次说一下哈,getJson这个函数是一个,只是将返回的进行一个转换后在返回给调用的,也可以自己在进行优化的,这段代码主要时对excel中的用例里面,在excel中单独放了一个字段 fangshi 对这字段来进行一个检查,如果时post则会进行判断自动调用post方法 ge't相同方式。
6、好了到这里一些,来进行一项重要的,读取excel中用例。
6.1、上代码
先导入xlrd 模块,先创建一个空list,因为我将case的数据都写在了sheet1页面中了,所以直接就写死了,这里需要的可以自己写一下,这段代码里进行按照行进行了循环查找并将每一行传唤成一个dict形式,并添加带list中最后返回list。
7、获取excel文件的方式也写完了,开始写case的框架来进行运行了
7.1、上代码



这段代码中有一个注释掉的,时进行测试的修改错误的,可以忽略掉。这里主要我将excel文件夹的路径直接写到了cese中,因为在excel中导出的数据时list形式,我将其进行一个循环来拿出数据进行,毕竟excel中会有很多的case来进行测试。最后对代码进行断言,在断言代码中的name字段在这里用到,用来获取excel中case中的名称,在生成log时会有一个标识,好进行跟踪。当然在这里我进行了错误错误代码,运行失败后,限制重试的次数,用到的就是Config文件中限制的次数。好了到这里接口自动化测试框架已经完成了很大的一部分了,下面就开始出现运行入口。(我这里用的UNITEST 框架,因为HTML报告没有自己写,用来一个省事的哈哈。以后会修改的。)
8、框架运行的入口:
8.1、上代码:


这里为框架运行的入口代码,里面有一个发邮件的功能,只是我还没有写成功,能发邮件 但是附件没带成功,sendmail文件我就没在这次书写上 ,后面的文章中,我会加上的。
四、以上为我写的接口自动化框架的基本代码,书写的比较简陋,可能规范也欠缺,哈哈 不过纪录下历程和新手学习下还算过的去
五、html测试报告样式
5.1
样式比较简单,哈哈 后续会优化的。
六、欢迎各位进行查看并指出错误。哈哈 代码借鉴了 雷子的博客。
python3+request接口自动化框架的更多相关文章
- python3+request接口自动化框架中自动发送邮件
在上一篇中的自动化框架中没有放上自动发送测试结果到邮箱的功能,在这篇文章中在补一下,哈哈 1.上一篇的代码就不在一一介绍了,本篇只介绍发送邮件的功能代码 2.在public common 文件夹中创建 ...
- python+request接口自动化框架
python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...
- 【python3+request】python3+requests接口自动化测试框架实例详解教程
转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...
- 接口自动化框架(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种, ...
- 接口自动化框架2-升级版(Pytest+request+Allure)
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级 ...
- 转载:python + requests实现的接口自动化框架详细教程
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...
- Python3简易接口自动化测试框架设计与实现(中)
目录 7.Excel数据读取 7.1.读取配置文件 7.1.编写Excel操作类 8.用例组装 9.用例运行结果校验 10.运行用例 11 .小结 上一篇:Python3简易接口自动化测试框架设计与实 ...
- python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- 接口自动化框架搭建Unittes+HTMLTestRunner
本次主要尝试搭建接口自动化框架,基于 unittest+HTMLTestRunner 框架主要模块: config: 存放配置文件 lib: 封装了一些接口前置函数:处理各种事物 log: 存放生成的 ...
随机推荐
- unity问题笔记
拖放在预制体中的图片等资源,他们的加载需要我们控制吗?我觉得不需要控制,但是如果按照现在的这种方式保存资源到非标准的resources文件下,那怎么加载?ulua的规则是这样查找资源的吗?猜想:客户端 ...
- 把 web 项目部署到 Linux 服务器上
1.打开 eclipse,在已经完成的 web 项目上面点击右键,选择 export,然后选择导出成 war 包. 以部署 SMBMS 项目为例 2.项目打包成 war ,选择项目导出到的位置. ...
- 每日命令:(10)cat
cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...
- power coefficient calculation -- post processing
input: unscaled moment of one bladeoutput: power coefficient of a 3-blades wind/tidal turbine matlab ...
- importdata-- matlab
source file: test.dat *************************** Day1 Day2 Day3 Day4 Day5 Day6 Day795.01 76.2 ...
- 后台获得集合,变成json字符串,放到EL表达式,js进行获取遍历
//把集合编程json字符串,放到el表达式 JSONArray array = new JSONArray(); JSONArray fromObject = array.fromObject(ar ...
- [bzoj1507][Usaco2009 Hol]Transmission Delay 传输谍延时_动态规划
Transmission Delay 传输谍延时 bzoj-1581 Usaco-2009 Hol 题目大意:题目链接. 注释:略. 想法: 动态规划. 首先我们考虑从后往前dp.(最近好多题都是从后 ...
- Ubuntu 16.04错误:The update information is outdated this may be caused by network...的问题解决
说明:这个问题没有最终的解决方案,只有不断的尝试. 错误: The update information is outdated this may be caused by network probl ...
- FreeMarker-简单示例
以下是简单的FreeMarker示例,直接采用模板 + 数据模型 = 输出的方式.示例中是Application的项目,主要用于展示模板输出HTML文件的功能. 示例: 1.引入POM依赖 <! ...
- RAR5格式不同词典大小下压缩率的简单测试
一个VMWare虚拟机安装Win7后的磁盘文件进行压缩,已经进行了清理处理,原始大小为12.1GB 词典大小 压缩后大小 压缩比率 32MB 4.08GB 33.7% 256MB 3.88GB 3 ...