VantPy自动化测试框架
1.必须要谈的一点,就是我们学习自动测试不是用来炫耀的,而是用来提升自身能力的。
2.这个框架不是通用框架,只是在这里灌输这个框架的思想,让每个人写框架都易如反掌
3.如果没有python基础的同学,希望能够先学习python基础知识,因为后面学的会越來越乱
4.学完之后,你能学到当前热门的自动化测试知识,你再也不是测试小白,提升了自身解决问题的能力。
5.框架是使用python3写的
我们先看一下这个框架到底有什么吧

现在我们来看看每个文件的内容吧。
Autolt文件夹
第一个Autolt文件,这个文件的内容是,当你要在某个页面中要上传文件/图片/其他文件时候,python没有一个好的方法可以提供给你,这时候我们就要用到第三方的软件,将我们要上传的文件打包成一个路径,给python调用就可以了。使用到的知识:Autolt的使用
Common文件夹
第二个Common文件夹,这个文件夹的内容是,将我们使用的共同文件都放在这里了,我现在就把测试用到的接口内容都放在里面了,还有就是selenium的二次重构也放在这里。使用到的知识:python接口测试,获取接口内容;selenium二次开发
Data文件夹
第三个Data文件夹,这个文件夹的内容是,直接理解为数据。是的,这个文件夹放的就是我们的数据,在我们在测试使用的数据,我们就可以全部都放在这里了。使用的知识:python openpyxl 的使用,在当前很多框架中都是使用xlrd和xlwt两个库并用,可是openpyxl已经足够了,又可以读又可以写
Deletest文件夹
第四个Deletest文件夹,这个文件夹的内容是,我个人写的一个删除手机号码的接口而已,这个文件夹之所以提供给大家,是因为当我们在进行自动化注册,或者是其他使用到的真实数据时,我们不能每次都跟开发沟通,删除该账户,再去自动化测试,这样使的我们工作的时间加长了好多。使用的知识:python接口post请求
Image文件夹
第五个Image文件夹,这个文件夹的内容是,将我们每次进行的测试用例测试的结果进行截图保存,这使得我们自动化测试加多了一层验证操作,提高我们测试脚本的质量。使用的知识:python的screen方法
Pages文件夹
第六个Pages文件夹,这个文件夹的内容是,我们要测试的网页的所有元素都放在这里了,这提高了我们测试的时候使用的元素操作。让我们不用没有都对同一个元素进行多次的操作了。我们只需要去调用就可以了。使用到的知识:调用selenium的方法,定位页面元素;unittest库的单元测试校验。
Result文件夹
第七个Result文件夹,这个文件夹的内容是,我们测试之后生成的测试报告,很多时候我们只是把HTMLTestRunner放在python的包里,这样对于我们后期进行的持续集成测试是不友善的,所以,我们必须将本身的包和测试服务器的包完全分开。使用的知识:HTMLTestRunner的调用和Boostrape的使用。
TestCase文件夹
第八个TestCaase文件夹,这个文件夹的内容是,我们要进行的测试步骤操作,很多人希望可以使用excel文件写测试用例,我的建议是,文件操作会使我们对代码的依赖减弱,所以,还是好好地写测试代码吧。使用的知识:调用selenium的方法,执行测试步骤,unittest库的使用。
index.py文件
这个index.py文件,将我们所有的测试用例都集成在一起,每次我们需要全量测试,我们只需要执行这个文件就可以了。使用的知识:编写测试集,调用HTMLTestRunner生成测试报告,调用screen方法生成截图,unittest库的使用。
看完上面的内容,这就是坚持学习自动化测试需要学到的内容,缺少某一部分的知识都无法完成自动化测试的工作。
说在后面
自动化测试不等于全自动化测试,自动化测试只是帮助我们执行我们已经测试过的内容,它无法帮我们测试未知的错误。那么自动化测试的作用在哪里呢?
1.提高测试的效率:
传统测试:我们项目每更新一次版本,我们都需要手动去操作一遍,随着内容功能的增加,我们测试的的时间也随之增加,很多功能我们上一版本已经测试过了,这个版本我们还必须要手动去测试,这使得我们工作时间加长了
自动化测试:全量回归测试,我们每更新一次版本,测试脚本都会自动去执行上一版本的功能,生成测试报告,供给我们测试人员查看,那么我们是不是不用测试了?错的,我们还需要测试,但是我们更多时间是花在新开发的功能上和上一版本出现的bug上了,这就是我们需要的探索性测试。
2.提高测试人员的代码能力:
传统测试:很多测试人员只需要去点点点,这造成很多测试人员工作枯燥,无聊,使地这个测试行业给很多人的感觉就是,不需要能力都可以做测试工程师,小学生都会去点点点,降低了测试行业的重要性,使得测试工程师的价值一直被技术界贬低,所以,我们必须用其他方法去提升自身价值
自动化测试:我们需要编码,而且编码能力不能比开发差,所以我们需要去学习开发的知识内容,了解开发的知识框架,了解我们公司开发的总框架,这样我们可以跟开发更接近了一步,减少我们测试与开发之间的矛盾,也促进测试和开发的友好关系了。
3.未来的路更清晰:
传统测试:当我们只是一直点点点,即使我们测试用例写得再好,我们也只会点点点,我们没有其他更突出的能力了,当我们点了几年之后,我们会担心自己未来的方向该往哪走,继续点点点,还是不点了。我们担心,年轻的一代点点点比我们快,导致我们失业,所以我们现在必须作出改变
自动化测试:这是促进测试和开发行业的桥梁,当我们对测试知识理解到深层次,也理解到开发使用的框架,那么我们可以转什么职位呢?项目经理,产品经理,测试主管,项目主管这些都是我们可以在未来选择的职位的。在当前开发和产品不断有矛盾的时代,我们必须去改变这个行业中存在的矛盾,即使未来改变不了,至少我们也要为技术圈作出贡献。
VantPy自动化测试框架的更多相关文章
- 避免重复造轮子的UI自动化测试框架开发
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
- [转]Android Studio 里搭建自动化测试框架Robotium
Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档 ...
- 基于Ruby的Watir-WebDriver自动化测试框架
基于Ruby的watir-webdriver自动化测试方案与实施(五) 基于Ruby的watir-webdriver自动化测试方案与实施(四) 基于Ruby的watir-webdriver自动 ...
- Windows下部署Appium教程(Android App自动化测试框架搭建)
摘要: 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios.android.firefox os: 4,a ...
- IntelliJ IDEA 自动化工具安装并添加自动化测试框架
IntelliJ IDEA是一个用于开发人员开发和测试人员自动化测试的测试工具,类似于eclipse. 优点:插件多自身可以携带,自身携带cucumber自动化测试框架,类似于junit一样 缺点:r ...
- Selenium自动化测试框架介绍
Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...
- UiAutomator自动化测试框架介绍
UiAutomator自动化测试框架介绍 环境搭建 1 必要条件 1.1 JDK 1.2 SDK(API高于15) 1.3 Eclipse 2 ...
- UI自动化测试框架(项目实战)python、Selenium(日志、邮件、pageobject)
其实百度UI自动化测试框架,会出来很多相关的信息,不过就没有找到纯项目的,无法拿来使用的:所以我最近就写了一个简单,不过可以拿来在真正项目中可以使用的测试框架. 项目的地址:https://githu ...
- Robotium自动化测试框架实用教程(图)
一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各 ...
随机推荐
- c++の奇技淫巧
>如何用cmd编译c++?-m32究竟是什么操作?这究竟是道德的沦丧还是人性的泯灭,请收看今日的c++奇技淫巧 咳咳,扯远了(正经脸)主要是今天学了c++的一些编译技巧以及cmd的一些操作,总结 ...
- 关于php加密库加密数据上传数据库或解密出错的问题
php加密拓展库随着php版本的更新,函数的使用方法有所改变,所以加密模式推荐使用ecb,其中加密算法19种,加密模式8种,通过这种方式加密后的数据上传数据库后提取出来进行解密会发现结果是乱码,我认为 ...
- Linux替换命令
:s/^.*$/\L&/100 ##将100行内的小写转换成大写 vi/vim 中可以使用 :s 命令来替换字符串. :s/vivian/sky/ 替换当前行第一个 vivian 为 sky ...
- MS-SQL 错误: The offset specified in a OFFSET clause may not be negative
Example 1 : (Fetch clause must be greater than zero) USE AdventureWorks2012 GO SELECT * FROM [HumanR ...
- JSP 学习笔记
JSP 全名为Java Server Pages,中文名叫java 服务器页面,它是在传统的 HTML 页面中插入 JAVA 代码片段和 JSP 标签形成的文件. 上一篇 Servlet 中只是讲解了 ...
- 《项目架构那点儿事》——浅析web层struts2的构建
[前言]所谓快速开发,实质上为了节省项目的开支成本,减少程序员的开发时 间,固然就形成了种种二次封装的框架,也就是造轮子,然后我们的程序就按照这个轮子去画瓢,这里我就把公司这几次开发系统的框架源码贴出 ...
- 使用Recovery Services备份文件及文件夹
1.创建恢复服务保管库 2.在backup项中选择本地,备份文件和文件夹选项 3.根据提示下载Agent及保管库凭据 4.在文件服务器上安装Agent 5.选择"继续注册"项,并添 ...
- Celery 源码解析七:Worker 之间的交互
前面对于 Celery 的分布式处理已经做了一些介绍,例如第五章的 远程控制 和第六章的 Event机制,但是,我认为这些分布式都比较简单,并没有体现出多实例之间的协同作用,所以,今天就来点更加复杂的 ...
- 延迟执行之 Invoke 函数
Invoke 函数需要继承 MonoBehaviour 类后才能使用. Invoke(string str,float a):a 秒后执行名为 str 函数(只会调用一次). Invoke(strin ...
- 使用ztree展示树形菜单结构
官网:http://www.treejs.cn/v3/main.php#_zTreeInfo 一.功能简介 在权限系统中,实现给角色指定菜单权限的功能.主要包括以下几点: 读取全部菜单项,并以树形结构 ...