• 0
  • 0
分享

  一、什么是自动化测试框架?

  自动化测试框架是为自动化测试用例或者脚本提供执行环境而搭建的基础设施。自动化测试框架有助于有效地开发、执行和报告自动化测试用例。

  优点:

  · 代码复用

  · 提高测试效率

  · 更高的测试覆盖率

  · 维护成本低

  · 更早发现和记录bug

1-1.jpg

  二、框架的基本组成

  1、配置文件管理:

  一般需要一个配置文件去控制一些环境信息、开关。配置文件可以是txt/xml/yaml/properties/ini,一般.propertis使用较多在JAVA里,Python的话通常会选择ini文件。

  2、业务逻辑代码和测试脚本分离

  如果代码和脚本在一个类文件,那么就根本没有用到代码重构,复用。代码和用例文件分离后,会更加清晰,可以有更多人开发脚本,方便调试。

  3、报告和日志文件输出

  执行了多少case,case结果如何,这都需要报告来展示,一般采用第三方插件来实现这个功能。好多报告格式是html,简单,明了的风格。日志输出也很重要,如果发生报错,脚本执行失败,通过日志快速定位发生问题位置。

  4、自定义的库的封装

  很多功能需要重复调用,可以写成一个公用方法,放到工具包下,每次方便调用,例如浏览器引擎类和basepage.py的封装。

  5、管理、执行脚本方式

  例如Python中单元测试框架unittest使用率非常高。

  6、第三方插件

  有时候,一些功能需要借助第三方插件,能够更好实现,例如AutoIT(来实现文件上传和下载)。还有利用第三方报告插件生成基于html格式的测试报告。

  7、持续集成

  git、svn、ant、maven,jenkins,我们会把这整合到jenkins,达到持续集成,一键执行测试脚本。

  三、流行的自动化测试框架

  Robot Framework

  如果要使用python自动化测试框架进行测试自动化,则Robot Framework是最佳选择。Robot Framework是基于Python的,但是也可以使用 Jython(Java)或IronPython(.NET)语言进行脚本用例的编写。

  · Robot Framework使用关键字驱动的方法使测试用例易于创建。

  · Robot Framework还可以测试MongoDB、FTP、Android、Appium等。

  · 它拥有非常多的测试库,包括Selenium WebDriver库和其他常用的的工具。

  · Robot Framework具有许多API,可帮助使其尽可能地扩展。

  WebdriverIO

  WebdriverIO是基于Node.js的自动化测试框架。它具有集成的测试运行程序,可以为Web应用程序以及本机移动APP运行自动化测试用例。而且,WebdriverIO可以同时在WebDriver协议和Chrome Devtools协议上运行,从而使其对于基于Selenium Webdriver的跨浏览器测试或基于Chromium的自动化都非常有效。由于WebDriverIO是开源的,因此测试工程师可以获得一堆满足自动化需求的插件。

1-2.jpg


作者:桂棹兮兰桨    

来源:http://www.51testing.com/html/79/n-7797379.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 混迹于软件测试行业8年有余,这么长时间了,一直想写一篇关于软件测试的经验分享的文章,但苦于工作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把自己的心路历程及所感所想记录下来,与各位同行共勉。软件测试工程师必备的27个基础技能,纯干货分享!以我多年的工作经验来看,软件功能测试是基础,未来发展方向主要有两方面(技术专家、测试管理)。一、技术专家发展路线有如下三方面,可供参考:1、从功能测试到性能测试专家:性能测试专家需要掌握一门编程语言、性能测试工具、系统架构、网络、数据库、服务器硬件等知识。性能测试分为前端性能测试(单用户操作系统响应速度),后台性能测试(多用户并发场景)。后台性能测试包括三个...
            0 0 1165
            分享
          • 1.何为冒烟测试冒烟测试是自由测试的一种。冒烟测试在测试中发现问题,找到了一个bug,然后开发人员会来修复这个bug。这时想知道这次修复是否真的解决了程序的bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为冒烟测试。在很多情况下,做冒烟测试是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的bug。冒烟测试引入到软件测试中,是指测试人员在正规测试一个新版本之前,先投入较少的人力和时间验证一个软件的主要功能,如果主要功能都没有实现,则打回开发组重新开发。这样做的好处是...
            12 12 2558
            分享
          • 首发:https://mp.weixin.qq.com/s/3Wn_zdwTHArHPdlbjNOEOQ同类文章推荐:https://mp.weixin.qq.com/s/nh4c9El9FjJtX4vy8m2ELA 世纪性难题:剪不断、理还乱的开发测试关系二舅火了,《回村三天,二舅治好了我的精神内耗》在朋友圈疯狂转发,看很多测试同事发圈感慨二舅治好了自己的精神内耗,让自己不再纠结那些得不到的东西。想必你也经历过一刷激动、二刷感动、三刷四刷平平无奇的感觉,到现在可能你已经想不起来视频讲了什么。曾经短暂平和的内心是不是又泛起焦虑不安的浪花?二舅治不好你的精神内耗,测试人的精神内耗是二舅...
            1 1 1297
            分享
          • 一、2020年软件测试行业的现状2020年开年,一不小心,【新冠】黑天鹅从头上飘过,持续影响全国乃至全球的经济,软件行业公司也迎来了不少的冲击,那么一直打算入行软件测试行业,或者已经在软件测试行业耕耘多年的老司机来说,2020年软件测试行业,还值得入行吗?这个行业将来又将如何发展呢?下面作为一个十年资深测试,我谈谈我个人的看法。二、2020年软件测试行业的趋势鉴于笔者从09年入行IT行业,经历了09年只有开发没有测试的阶段,经历了14年只要会基本的功能测试在一线就能薪资过万的阶段,经历了17年只要会一点自动化,会一点性能就能蒙骗过面试官的阶段,更经历了19年所有面试官对于求职者的要求逐步提高,...
            1 3 4949
            分享
          •   关于Fuxi  Fuxi是一款功能强大的跨平台渗透测试工具,该工具基于Python 3开发,支持在Linux、macOS和Windows操作系统上使用,具备良好的跨平台特性。在该工具的帮助下,广大研究人员可以轻松快速地执行渗透测试和安全研究任务。  工具要求  由于该工具基于Python 3开发,因此广大研究人员首先需要在本地设备上安装并配置好Python 3环境。除此之外,该工具的运行还需要使用到下列组件:  Redis   mongoDB  工具安装  Docker使用  docker pull jeffzh3ng/fuxi   docker r...
            0 0 997
            分享
      • 51testing软件测试圈微信