• 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 据网友反馈,苹果 iPhone 年年焕新计划资格已从“第 10-13 个月”更新至“第 3-13 个月”。根据苹果介绍,参与该计划可年年用上新 iPhone。有了 iPhone 年年焕新计划,就可每年轻松升级到新款 iPhone,并可享受 AppleCare+ 服务计划的保障。只需在升级换购资格期限内折抵你的 iPhone,即可获得此设备原零售价格的 50% 作为折抵优惠来购买新 iPhone。计划生效日期第 3 个月起第 13 个月末。苹果 iPhone 年年焕新计划资格更改为“第 3-13 个月”,原设备可折价 50%此前,苹果官网显示,想要加入 iPhone 年年焕新计划的用户,只需购买...
            0 0 1441
            分享
          •   北京时间12月27日早间消息,据报道,美国亿万富豪埃隆·马斯克(ElonMusk)收购社交媒体Twitter后,进行了大规模裁员。Twitter员工不服,将公司告上了法庭。而该公司也开始采取措施,希望法庭能够驳回员工的集体诉讼。  当地时间周五,Twitter公司要求加州的一家联邦地方法庭,要么驳回员工集体诉讼,要么把诉讼转移到了特拉华州的另外一家法庭。根据马斯克收购Twitter公司的协议,有关的法律争议必须在特拉华州法庭审理。  Twitter方面表示,针对裁员计划提交诉讼的Twitter员工,各自的情况各不相同,另外原告并未针对集体诉讼提出代表更多Twitter员工的诉求和指控。  ...
            0 0 859
            分享
          • 读者提问:没有测试数据,自己又不会编,有什么办法可以方便快速地伪造数据 ?阿常回答:Python 库-Faker。GitHub地址:https://github.com/joke2k/faker(开源社区)Faker 是一个 Python 包,主要用来创建伪数据,使用 Faker 可以生成大批量的看起来很真实的 “ 假数据 ”。阿常碎碎念:接下来阿常给阿常演示一下 Faker 的安装和使用:1、安装 Fakerpip install Faker2、从 faker 模块中导入类from faker import Faker3、调用方法#...
            0 0 1249
            分享
          • 一、前言618期间上线一个活动项目。但上线不顺利,当天就出现了性能问题,接口超时,用户无法打开网页,最后不得的临时下线。花了三天两夜,重构了后台核心代码,才让活动进行下去。回头看了一下自己的时间记录,从5月31号那天晚上8点25分开始准备上线,发现异常,分析原因,重构代码,离开公司时已经是6月2号的23点54,经历51小时29分,中间的睡眠时间不到5个小时,这已经是爆发小宇宙了。这一波刚过去了,一波未平另一波又起,由于活动的奖励丰厚,大批羊毛党闻风而至,某宝上公开卖脚本的都有了,严重影响了正常用户薅羊毛。某客户反馈说:我们别说薅羊毛了,现在是整头羊都被他们牵走了!接下来的几天,又得和薅羊毛的脚...
            14 14 1103
            分享
          • 一、2020年软件测试行业的现状2020年开年,一不小心,【新冠】黑天鹅从头上飘过,持续影响全国乃至全球的经济,软件行业公司也迎来了不少的冲击,那么一直打算入行软件测试行业,或者已经在软件测试行业耕耘多年的老司机来说,2020年软件测试行业,还值得入行吗?这个行业将来又将如何发展呢?下面作为一个十年资深测试,我谈谈我个人的看法。二、2020年软件测试行业的趋势鉴于笔者从09年入行IT行业,经历了09年只有开发没有测试的阶段,经历了14年只要会基本的功能测试在一线就能薪资过万的阶段,经历了17年只要会一点自动化,会一点性能就能蒙骗过面试官的阶段,更经历了19年所有面试官对于求职者的要求逐步提高,...
            1 3 4949
            分享
      • 51testing软件测试圈微信