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文件夹,这个文件夹的内容是,将我们每次进行的测试用例测试的结果进行截图保存,这使得我们自动化测试加多了一层验证操作,提高我们测试脚本的质量。使用的知识:pythonscreen方法

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自动化测试框架的更多相关文章

  1. 避免重复造轮子的UI自动化测试框架开发

    一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...

  2. [转]Android Studio 里搭建自动化测试框架Robotium

    Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF. 官方文档 ...

  3. 基于Ruby的Watir-WebDriver自动化测试框架

    基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动 ...

  4. Windows下部署Appium教程(Android App自动化测试框架搭建)

    摘要: 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios.android.firefox os: 4,a ...

  5. IntelliJ IDEA 自动化工具安装并添加自动化测试框架

    IntelliJ IDEA是一个用于开发人员开发和测试人员自动化测试的测试工具,类似于eclipse. 优点:插件多自身可以携带,自身携带cucumber自动化测试框架,类似于junit一样 缺点:r ...

  6. Selenium自动化测试框架介绍

    Selenium自动化测试框架介绍 1.测试架构作用 a.可维护性 b.提高编写脚本效率 c.提高脚本的可读性 2.框架的几大要素: Driver管理,脚本,数据,元素对象,LOG,报告,运行机制,失 ...

  7. UiAutomator自动化测试框架介绍

    UiAutomator自动化测试框架介绍 环境搭建 1         必要条件 1.1       JDK 1.2       SDK(API高于15) 1.3       Eclipse 2    ...

  8. UI自动化测试框架(项目实战)python、Selenium(日志、邮件、pageobject)

    其实百度UI自动化测试框架,会出来很多相关的信息,不过就没有找到纯项目的,无法拿来使用的:所以我最近就写了一个简单,不过可以拿来在真正项目中可以使用的测试框架. 项目的地址:https://githu ...

  9. Robotium自动化测试框架实用教程(图)

    一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各 ...

随机推荐

  1. PHP基础入门(二)【PHP函数基础】

    PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...

  2. awk命令练习

    文件 file.txt的内容格式: 文件中包含名字,电话号码和过去三个月里的捐款 具体内容如下: Mike Harrington:[510] 548-1278:250:100:175 Christia ...

  3. 服务器 : Apache Tomcat - 理解架构层次

    文章概览 相信很多接触java的人都对Tom猫有着多少的熟悉,就个人而言,本来只知道Tom简单的操作与配置,就像裹上一层纱,迷迷糊糊的. Tomcat的书籍本来就不多,高分的还是很久之前的版本,直到最 ...

  4. RE: Javascript分页处理

    背景: 调用PHP后端给的接口,以实现分页的功能.由于我是没造轮子的能力,所以翻了不少技术博客,经过整合才算完成整个分页功能.从一番查阅中,不难看出大概分为两种不同的分页: 一种是纯前端的,就是在一次 ...

  5. Python把给定的列表转化成二叉树

    在LeetCode上做题时,有很多二叉树相关题目的测试数据是用列表给出的,提交的时候有时会出现一些数据通不过,这就需要在本地调试,因此需要使用列表来构建二叉树,方便自己调试.LeetCode上二叉树结 ...

  6. SQLServer2008R2 发布订阅及相关问题解决办法

    前言: 前两天接到领导的任务,将一个系统A的客户数据同步到另一个系统B中,以后客户录入入口只有A系统,B系统不提供录入入口,因为各种原因不能使用接口方式A系统和B系统直接交互同步,只能通过数据库重A库 ...

  7. JavaScript 经典之一 闭包

    作为一个前端开发者,闭包是必须要攻克掉的障碍.据说好多面试者挂在闭包面试上.下面我就给大家讲一下我理解中的闭包.不说太多的废话,直接进入主题. 变量作用域 学习编程语言需要明白,变量的作用域.变量作用 ...

  8. C#中泛型之Dictionary

    1.命名空间:System.Collections.Generic(程序集:mscorlib)2.描述: 1).从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组 ...

  9. C#PreviewKeyDown 与KeyDown 区别

    PreviewKeyDown:在焦点位于此控件上的情况下,当有按键动作时发生(在 KeyDown 事件之前发生). 小注: 某些按键,比如 Tab.Return.Esc 和箭头键,通常会被某些控件忽略 ...

  10. Grafana+Prometheus系统监控之MySql

    架构 grafana和prometheus之前安装配置过,见:Grafana+Prometheus打造全方位立体监控系统 MySql安装 MySql的地位和重要性就不言而喻了,作为开源产品深受广大中小 ...