• 0
  • 0
分享

  技术背景

  需要有一定的python基础,代码阅读能力;以及自动化测试思想。

  去到任何一家企业,如果少不了自动化,必然会要搭建一套自动化测试框架!

  那么问题随之而来,这框架如何选择呢?

  如果是代码能力强,可以自行开发与设计,那要是不呢?KPI摆在那,总不能说不行吧!

  不行,代表着真的不行,在测试职业领域真的没有什么测试的不行!作者回顾以往工作经历,测试从来没有说过不字。

  不会安全测试,但总得会几样安全型测试工具吧,不济也该知道安全测试的目的和原理吧。

  不会性能测试,但总得会使用工具吧,理解性能测试指标和知道如何设计性能测试场景吧。

  不会单元测试,不会自动化测试?不会渗透测试?所有的不会,那总该会学吧。自强不息。

  RF测试框架

  · Google翻译一下它的介绍

  Robot Framework是一个通用的开源自动化框架。它可用于测试自动化和机器人过程自动化 (RPA)。

  Robot Framework 受到积极支持,许多行业领先的公司在其软件开发中使用它。

  Robot Framework 是开放和可扩展的,几乎可以与任何其他工具集成,以创建强大而灵活的自动化解决方案。开源也意味着 Robot Framework 可以免费使用,无需支付许可费用。

  Robot Framework 具有简单的语法,使用人类可读的关键字。它的功能可以通过用 Python 或 Java 实现的库来扩展。该框架有一个丰富的生态系统,由作为独立项目开发的库和工具组成。

  Robot Framework 项目托管在GitHub 上,您可以在其中找到更多文档、源代码和问题跟踪器。下载托管在PyPI。

  Robot Framework 独立于操作系统和应用程序。核心框架是使用Python实现的,也可以在Jython (JVM) 和IronPython (.NET) 上运行。

  Robot Framework 本身是在Apache License 2.0下发布的开源软件,生态系统中的大部分库和工具也是开源的。该框架最初由诺基亚网络开发,并于 2008 年开源。

  · 所以它有名的是关键字框架设计思想

  对于还不会coding但又想coding的同学来讲,RF无疑是练手的不二选择,可以一边使用其现成的关键字,一边又可以开发自己的关键字。

  RF框架二次开发实战

  · 环境搭建:python+robotframework

  建议eclipse+robotframework

  开发关键字流程

  1、进入python环境/Lib/sit-packages目录下

  2、新建py模块文件<这只是单个文件,不形成库>

  3、使用def关键字定义函数,在RF中就是可使用的关键字

  demo示例:

  ROBOT_LIBRARY_SCOPE = 'GLOBAL'
  # 返回两个变量的减法运算
  def sub(a,b):
      return a-b

  ROBOT_LIBRARY_SCOPE表示RF库的属性作用域,有三个等级:TestCase、TestSuite、Global;

  作用呢见名知意:

  TestCase当前测试用例中实例化一次,那么多个测试用例使用,就需要实例多次;

  TestSuite指在suite中只实例化一次,包含的所有测试用例都共享第一个关键字;

  Global更简单了,就相当于python的全局属性,全测试框架都可以使用,且只初次实例化一次;

  · rf测试用例中使用关键字

  *** Settings ***
  Library    demo.py的绝对路径

1-1.png

  · rf编写测试用例**<tab键缩进>**

  *** Settings ***
  Library    demo
  *** Test Cases ***
  case:demo模块自定义sub关键字
      ${res}    sub    ${4}    ${1}
      
      Log    ${res}
      
      Should Be Equal    ${res}    ${31}

  · rf执行测试用例展示结果

  会生成三个结果文件,一个log两个html

1-2.jpg

  总结

  当然它不局限于做接口自动化、还支持UI自动化,在python+selenium设计关键字驱动框架时,切莫忘了RF。

  因为有现成的关键字驱动框架工具,就不是很建议去重复造轮子,反而会降低输出效率;但是如果为了灵活多变,那还是自己开发的用起来才得心应手!

  再多说一句,点题《作为测试人员,RobotFramework框架真的是必须掌握的吗?》

  答案是:No,非必须,因为可替代性太强了。


作者:职说测试    

来源:http://www.51testing.com/html/40/n-4478040.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一、基本控件  1、单选按钮  ·是否只能选择一个选项  · 未进行选择时是否有默认值  2、多选钮  · 可以选择多个选项  3、按钮  · 按钮点击是否有效  · 点击按钮后的跳转页面或者提示是否正确(按钮为新增功能时重复点击是否提交多条重复信息)  · 按钮的点击有效范围  4、下拉菜单  · 下拉菜单的选项是否唯一  · 下拉选项是否可选  5、日期选择控件  · 注意选择起止日期的大小问题,终止日期不得小于起始日期  · 控件有效的选择范围  6、输入框  · 输入内容限定(号码,...
            0 0 593
            分享
          • 1.数据准备已事先准备好5个不同用户账号2.设置线程并发数ramp-up period 指 JMeter 用于执行全部请求的时间 如果设置了 100 个线程,并且 ramp-up period 是 2 秒,那么 JMeter 将在 2 秒钟 之内启动 100 个线程.如果循环次数是 2,那么 jmeter 将在 2 秒之内发送 200 个 请求(100*2) 如果循环次数设置为永远,那么 jmeter 将以最大可能去发送请求,以此测试出 最大并发数此处采用5个并发数作为测试演示设置为5个用户并发访问注意,若设置5个用户并发访问时,需在线程组中设定,用于模拟多用户同时测试的线程数为5个。如果线程...
            0 0 2200
            分享
          •   在软件相关行业中,如果说开发属于一个开创型的岗位,是从无到有的过程,那么测试则是一个需要多重沟通的岗位。为什么我们常说测试是衔接岗位呢,原因不仅是测试参与的项目环节很多,并且测试对接的人员,需要打交道的人员比较杂,是一个承前启后不可或缺的一环,测试在整个过程中更多的是发挥推动的作用。测试岗位越往上走,越能发掘沟通的重要性。  如果想做好一个测试管理人才,除了跟进项目上的事情,还要学会跟不同的人员沟通。这样才能推动问题有效的快速解决。我们从三个方面说明测试衔接的必要性。  第一部分:功能测试参与的项目过程  先来看下测试为了保障软件质量,需要做的事情,在每一个环节中测试都需要衔接不同环节。 ...
            0 0 617
            分享
          • 上一篇文章介绍了正则表达式的一些高级用法的使用,但是一些 常用的正则表达式我们可能会更长用,为了记录和方便以后查询,特记录一些常用的正则表达式。1.找到所有小数的数字,比如10.2引用名称:aa正则表达式:[0-9]+\.[0-9]+模板:$0$区配数字: -1 调用:${aa_1}:取出第一个满足要求的数字${aa_2}:取出第二个满足要求的数字2、找到所有小数点后的数字引用名称:aa正则表达式:([0-9]+)\.([0-9]+)   必须用括号分组模板:$2$   第二组区配数字: -1 取出所有符合要求的调...
            0 0 931
            分享
          • 作为很多软件测试岗位的朋友来说,职业发展和规划一直是一个比较模糊的概念,知道其重要,却不知如何规划更符合自己的实际情况。下面,我们就分三种情况来简单说一说。一、高管理-低技能即是我们通常所说的管理路线!在IT业,这个方向的成功者不乏项目经理、项目总监直至企业的最高管理层;但是走这个方向也要有技术方面的积累,因为管理者的影响力中,除了职位赋予的权力以外,还包括个人人格方面的能力和专业领域的专业能力,而后者就是技术水平!而计算机行业本身,也决定了技术底蕴对职业发展的重要影响,所以年轻的IT朋友们,如果想为自己的职业人生设计成这个路线,除了适当的技术积累外,更要有意识的锻炼自己的管理素质,下图可做参...
            10 10 784
            分享
      • 51testing软件测试圈微信