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. angular指令中的preLink函数和postLink函数

    指令模板选项有complie和link两个字段,两者之间存在如下关系: 当compile字段存在时,link字段将被忽略,compile函数的返回值将作为link字段. 当compile不存在,lin ...

  2. 使用Git 本地代码提交到 GitHub

    第一步:下载Git 工具 在官网下载 https://git-scm.com/ 第二部:注册官方账号 创建一个村代码的仓库 注册地址https://github.com/ 第三部:本地代码 通过Git ...

  3. King

    King Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissi ...

  4. Hawk-and-Chicken

    Hawk-and-Chicken Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...

  5. Python pip 下载速度慢? Windows 设置 国内源,用 阿里云 国内镜像 加速

    pip 提供了对 Python 包的查找.下载.安装.卸载的功能,是非常方便的 Python 包管理工具.但是,令人苦恼的是 pip 在国内的下载速度非常慢,速度常常只有每秒几十 K,甚至才几 K,小 ...

  6. JAVAscript学习笔记 js条件语句 第三节 (原创) 参考js使用表 (2017-09-14 15:55)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Java动手动脑——多态和继承

    Java动手动脑——继承和多态 实验一 预估输出答案:100  200  201  202 输出结果:100  200  201  202 输出答案分析:100 创建parent类的对象,调用对象的方 ...

  8. mysql +keeplive

    下载tar包 ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6. ...

  9. 关于双11过后MATLAB许可过期问题的解决方案

    在距离双11还有2个月之前,matlab会提示:Your MATLAB license will expire in 50 days --------------------------------- ...

  10. spring @Autowired和jdk的@Resource区别

    当一个接口只有一个实例时,使用这两个注解的效果是一样的. 当含有两个实例时,非得使用 @Autowired 那么定义的引用类型必须和service实现类定义的名字相同,参照下图 定义第一个servic ...