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. SE6 模板字符串详解

    SE6引入了模板字符串这样一个概念,让我们从无止尽的+连接字符串中解脱了出来,SE5中也可以在字符串末尾添加\实现,不过模板字符串更加好用和强大. SE6模板字符串是用反撇号(`,即键盘上和~键同一个 ...

  2. 利用python深度学习算法来绘图

    可以画画啊!可以画画啊!可以画画啊! 对,有趣的事情需要讲三遍. 事情是这样的,通过python的深度学习算法包去训练计算机模仿世界名画的风格,然后应用到另一幅画中,不多说直接上图! 这个是世界名画& ...

  3. Paint the Grid Reloaded(缩点,DFS+BFS)

    Leo has a grid with N rows and M columns. All cells are painted with either black or white initially ...

  4. Equations

    Equations Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  5. 暑假练习赛 006 A Vanya and Food Processor(模拟)

    Description Vanya smashes potato in a vertical food processor. At each moment of time the height of ...

  6. hive中UDF、UDAF和UDTF使用

    Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以. 一.背景:Hive是基于Hadoop中的MapReduce,提供HQ ...

  7. AngularJS学习篇(十七)

    AngularJS 输入验证 <!DOCTYPE html> <html> <script src="http://apps.bdimg.com/libs/an ...

  8. ionic3.0--angular4.0 引入第三方插件库的方法

    ionic3.0 引入第三方插件 (swiper),方法很多,现详细说明下官方推荐(typings)做法. 1.全局安装Typings 1. npm install -g typings  2.搜索你 ...

  9. Jumpserver部署与安装

    jumpserver特点: 完全开源,GPL授权 Python编写,容易再次开发 实现了跳板机基本功能,认证.授权.审计 集成了Ansible,批量命令等 支持WebTerminal Bootstra ...

  10. JAVA 的关键字 、

    关键字: 被JAVA语言赋予特定含义的单词, 特点: 组成关键字的单词的字母全部小写 注意: A:goto 和 const 是保留字 B: 类似于Notepad++ 这样的高级记事本,针对关键字有特殊 ...