一步一步教你编写与搭建自动化测试框架——python篇
[本文出自天外归云的博客园]
这两天用python写了一个自动化测试框架,取名为Auty。准备用来做Web方面的接口测试,以下为Auty框架一步一步的搭建过程——
首先在这里我要感谢我的大师兄朱勃的指点、交流和帮助!
Auty文件夹结构介绍
1. actions文件夹:包含了和业务相关的包含可复用方法的脚本文件,根据业务的不同可以在actions文件夹下创建不同的业务文件夹;
2. constants文件夹:包含了常量初始化的python脚本文件,根据业务划分可以再创建子文件夹或多个常量文件;
3. data文件夹:包含了测试用的数据;
4. lib文件夹:包含了支持框架运行的python文件;
5. log文件夹:包含了运行测试过程中生成的日志文件;
6. results文件夹:包含了测试结果文件;
7. scripts文件夹:包含了scripts文件夹和selections文件夹;
1)scripts文件夹下包含了测试脚本(可根据业务划分成多个子目录);
2)selections文件夹下包含了suite文件(包含了需要执行的脚本路径集合);
8. utils文件夹:包含了和业务逻辑无关的包含可复用方法的脚本文件;
Auty文件结构介绍
1. Auty文件夹下:
1)__init__.py文件:包结构所必需文件(以下所有涉及可调用脚本的文件夹下均需有此文件);
2)config.txt文件:Auty框架配置说明文件;
3)recovery.py文件:垃圾代码回收文件(用来回收执行测试过程中因故障未能自动删除的自动生成的代码);
4)requirements文件:包含了框架所需要安装的python库信息;
5)setup.py文件:执行脚本以安装requirements文件中所包含的python库;
6)start.py文件:执行脚本以启动接口自动化测试;
2. lib文件夹下:
1)exe_deco.py文件:包含修饰脚本运行时方法的文件;
2)execute_selection.py文件:包含运行suite集合下脚本方法的文件;
3)generate_html.py文件:包含根据生成的csv格式测试结果文件生成html类型测试结果文件方法的文件;
4)generate_result.py文件:包含生成csv格式测试结果方法的文件;
5)read_selection.py文件:包含读取可执行的脚本列表方法的文件;
6)recovery_code.py文件:包含垃圾代码回收方法的文件;
7)write_log.py文件:包含生成日志文件方法的文件;
3. scripts文件夹下:
1)create_selection.py文件:包含创建suite文件(all_scripts_selection.txt)方法的文件;
Auty使用步骤
1. 运行Auty/setup.py文件;
2. 编写接口测试python脚本并放到Auty/scripts/scripts目录(或子目录)下;
3. 运行Auty/scripts/create_selection.py文件生成Auty/scripts/all_scripts_selection.txt文件;
4. 修改Auty/scripts/all_scripts_selection.txt文件自定义test_selection.txt文件(名字随意起)并放到Auty/scripts/selections文件夹下;
5. 运行Auty/start.py文件开始接口自动化测试;
6. 在Auty/results文件夹下生成的测试结果文件中查看测试结果。
Auty编写过程
这个框架里scripts、utils、actions、contants四个文件夹中的内容是根据实际工作内容可以随意替换的,其他为Auty接口自动化测试框架必需的组成部分。由于后续开发工作比较琐碎,一些更改的代码不能及时更新到以下各篇文章中。最新代码请见:Github
第一篇——生成执行列表
第二篇——读取与执行脚本列表
第三篇——添加异常处理与日志收集
第四篇——生成测试结果报告
第五篇——调用支持、自动化安装库与配置说明
第六篇——垃圾代码回收、添加suite支持
第七篇——添加动作库和常量文件库
Auty框架表现篇——python flask框架实践
接口测试用例编写建议
一步一步教你编写与搭建自动化测试框架——python篇的更多相关文章
- 《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
1.简介 上一篇宏哥介绍了如何设计支持不同浏览器测试,宏哥的方法就是通过来切换配置文件设置的浏览器名称的值,来确定启动什么浏览器进行脚本测试.宏哥将这个叫做浏览器引擎类.这个类负责获取浏览器类型和启动 ...
- 手把手教你使用webpack搭建vue框架
我们在使用vue开发项目的时候,都是用vue-cli直接来搭建的.但是这是别人已经造好的轮子,我们既然要使用别人造好的轮子,我们总不能知其然而不知其所以然.所以呢,我这边文章就教你如何使用webpac ...
- 手把手教你用vue-cli搭建vue项目
手把手教你用vue-cli搭建vue项目 本篇主要是利用vue-cli来搭建vue项目,其中前提是node和npm已经安装好,文章结尾将会简单提到一个简单的例子.使用vue-cli搭建项目最开始我也是 ...
- 《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
1.简介 页面对象模型(Page Object Model)在Selenium Webdriver自动化测试中使用非常流行和受欢迎,作为自动化测试工程师应该至少听说过POM这个概念.本篇介绍POM的简 ...
- 一步一步教你实现iOS音频频谱动画(二)
如果你想先看看最终效果再决定看不看文章 -> bilibili 示例代码下载 第一篇:一步一步教你实现iOS音频频谱动画(一) 本文是系列文章中的第二篇,上篇讲述了音频播放和频谱数据计算,本篇讲 ...
- 一步一步教你实现iOS音频频谱动画(一)
如果你想先看看最终效果再决定看不看文章 -> bilibili 示例代码下载 第二篇:一步一步教你实现iOS音频频谱动画(二) 基于篇幅考虑,本次教程分为两篇文章,本篇文章主要讲述音频播放和频谱 ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十)——一步一步教你如何撸Dapr之绑定
如果说Actor是dapr有状态服务的内部体现的话,那绑定应该是dapr对serverless这部分的体现了.我们可以通过绑定极大的扩展应用的能力,甚至未来会成为serverless的基础.最开始接触 ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容
上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样 ...
- 一步一步教你如何在linux下配置apache+tomcat(转)
一步一步教你如何在linux下配置apache+tomcat 一.安装前准备. 1. 所有组件都安装到/usr/local/e789目录下 2. 解压缩命令:tar —vxzf 文件名(. ...
随机推荐
- aspxshell下突破无可写可执行目录执行cmd
try { var strPath:String = "c:\\windows\\temp\\cmd.exe", strUser:String = "everyone&q ...
- Golden Gate 概念和机制
1. OGG有哪些进程 ü Manger : manger进程是goldengate的控制进程,分别运行在源端和目标端上,它主要的作用是启动.监控.重启goldengate的其他进程,报告错误及事件 ...
- Unity3D中C#和js方法相互调用
通过查找资料,Unity3D中C#和js要相互调用彼此的方法,js文件必须放在"Standard Assets". "Pro Standard Assets" ...
- VM配置一个待安装LUNIX系统的环境
IT技术和行业交流群 417691667
- OpenGL 小游戏 贪吃蛇1(2D)
#include "stdafx.h" #include <GL/glut.h> #include <stdlib.h> #pragma comment(l ...
- 使用SharpSSH连接服务器报Algorithm negotiation fail解决办法
SharpSSH或JSCH使用diffie-hellman-group1-sha1和diffie-hellman-group-exchange-sha1密钥交换算法,而OpenSSH在6.7p1版本之 ...
- P1941 飞扬的小鸟
此题很容易写出方程,由以前的知识可以迁移得,本题可以用完全背包的方法进行优化,使用滚动数组即可得到答案. //莫名奇妙60分.不知道什么细节出了错. #include <bits/stdc++. ...
- 孟加拉央行SWIFT攻击事件恶意木马分析(转)
第一章 分析概述 该恶意木马样本为运行于winodws平台上的PE文件(名称:evtdiag.exe).文件大小为64KB,编译时间是2016年2月5日. 经分析,该样本为定制的攻击SWIFT客户端程 ...
- JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置
众所周知,在进行接口测试的过程中,需要创建不同的场景(不同条件的输入,来验证不同的入参的返回结果).因而,在日常的自动化接口监控或商品监控等线上监控过程中,需要配置大量的入参来监控接口的返回是否正确. ...
- Maven应用
Maven进行项目管理很方便,下面介绍一下学习maven中的笔记.我是在Windows上运行的 有些知识点没有试,只是收集转载,很可能存在错误 1.安装 解压缩之后,配置环境变量MA ...