作为代码小白,我是这样成为自动化大神的!

213 阅读5分钟

前言

robotframework(简称 robot)

robot 是一款自动化测试的工具,能够实现接口自动化测试、UI 自动化测试。

它的主要特色就是:

  1. 关键字 驱动来完成测试用例

  2. 测试用例格式可以为 txt/html 等,非代码的形式,支持中文哦

  3. 由 python 实现,开源。

这里有 2 个重要的概念需要大家先掌握一下:

关键字、库

简单来说:

关键字是,已经实现的功能,可以直接拿来使用。

库是:按功能领域,将关键字分门别类存放。

我们以商场的例子来做说明。请看以下 2 个图:

在图中,商城提供了 5 大功能领域(robot 中的库)。在每个功能领域当中,都有许多具体的功能(robot 中的关键字)。

我们在逛商场(ps:带着你的钱)时,是根据自己的需求去不同的功能库当中,使用不同的功能。

那么,图中的每一个具体的功能(比如 H&M),就是已经实现好了的,直接可以使用的功能,即 Robot 中的关键字

假设我现在进入此商城,我要做的事如下:

第一步:去护肤品区域(库 ) 买 MAC 口红(使用某一功能)

第二步:去餐饮区域(库) 吃 么子烤肉(使用某一功能)

第三步:去休闲区域(库) 电影院 看哪吒之魔童降世(使用某一功能)

我要做的事,可以认为是 robot 中一个测试用例,此用例分为三个步骤,每一个步骤都是使用某一现有的功能。

总结下来:

商场 == RobotFramework

餐饮/休闲/服务/护肤品/饰品 == 库

费大厨/电影院/adidas/MAC == 关键字

所以,robotframework 当中,有非常丰富的库,并且每一个库当中都有对应的关键字集。

robot 测试用例 = 按业务需求组合 关键字

想对关键字和库有更多专业的了解,请擢博客:柠檬小欧:贯穿RobotFramework框架 - 关键字(一) 最全面的疏理

Robot 环境搭建

1、python 环境 +robotframework 第三方库:

由于 robotframework 是 python 实现的,是一个 python 第三方库,所以需要安装 python 版本。

robotframework 完美支持 python2 和 python3。建议安装 python3.7+,编码处理非常友好。

2、安装编写用例的工具

编写 robot 用例的工具比较多,有 ride、notepad++、Sublime、eclipse 等。。

无论用哪种工具,对于 robot 脚本而言,语法都是一样的,可以在任意其它工具中打开。

使用 ride 的朋友们请注意:ride 工具现在也支持 python2 和 python3,但兼容性有待考察。

个人更倾向于使用 eclipse,关键字展示、高亮、自动提示等体验非常友好。

具体安装和工具使用请擢博客:柠檬小欧:不用写代码的框架 - RobotFramework+Eclispe环境安装篇

Robot- 轻松实现自动化用例

以 Web 自动化为示例,演示 robotframework 的用法。使用的用例编写工具:eclipse+RED 插件。

要实现的自动化 Web 用例如下:

前置

打开 Google 浏览器,访问:www.lemfix.com/

问题:robotframework 如何实现 Web 自动化?

答案:关键字!!

在 robotframework 当中,想做任何事情,首先想到的就是关键字。

找到 Web 网页操作的关键字,然后去使用它。

第一步:安装 SeleniumLibrary,具备 Web 自动化操作的能力。

在 robotframework 当中,由**SeleniumLibrary(非 robot 自带,需要安装)**库提供对网页的操作关键字(功能)。

  1. 安装 SeleniumLibrary:pip install --upgrade robotframework-seleniumlibrary

第二步:创建 Robot 工程,引入 SeleniumLibrary 库。

1、创建 robot 工程:

在 eclipse 当中,File -> New -> Robot Project(没显示则要去 Other 选项中找)

2)创建 robot 测试用例:

3) 在 robot 工程中中导入 SeleniumLibrary(导入了才有可以使用关键字)。

注意:库名不能错,大小写敏感。

  1. 引入方式:在 robot 脚本中,settings 区域当中,引入外部资源。脚本如下:

    *** Settings ***

    Library SeleniumLibrary

  2. 引入时,库名下会有红色波浪线,如下图所示,选中它,按 Ctrl+1

  1. 按 Ctrl +1 后,会有如下图所示的提示,双击:

  1. 以上操作后,会自动打开 robot 工程的 red.xml 文件 ,保存文件即可。

  1. 保存成功之后,可在 robot 工程当中,看到第三方库存在。具体效果如下图所示:

第三步:利用 SeleniumLibrary 当中的关键字,完成 Web 用例

总结

从上面的简单示例当中,可以看到,使用现成的关键字,未用一行代码,就实现了自动化的用例实现。

robotframework 当中,只要掌握了关键字的用法,就是这样轻松的做自动化测试!

当然,如果我们掌握了更多的测试思想和框架设计思想,可以更好的利用此工具完成自动化测试工作。

疑惑:那我还需要学代码吗?

既然 robotframework 这样的工具就可以实现自动化测试,那是不是没有必要学习代码 ?

答案是否定的。

  1. 工具不是万能的,始终都有局限性。很多时候,它现有的功能,并不能够完全适配我们的测试项目。

    工具解决不了的问题,我们需要对它做扩展或另行处理。还好,robot本身支持python/java语言对它做扩展。

  2. 如果只会用工具,工具的局限性就是你的局限性。掌握代码,你可以做更多的事情。

    工作当中,除了写用例之外,我们还要完成领导的各个小需求。比如自动收集数据?比如定制化的报告? 同时,也需要各种小手段来提高测试效率。

  3. 未来,要开发能够适应公司测试项目的 通用型的测试平台呢??

所以,工具要会,代码更要会。

p s:小编个人收集啦许多软测资料,希望能够帮到学软件测试的朋友们软件资料分享包括但不限于:Java自动化测试、Python自动化测试、性能测试、web测试、APP测试 测试开发工具包:appuim安装包、fiddler安装包(也有配套视频教程)、eclipse、git、jmeter、loadrunner、monkey、postman、soapul、Xmind等等

有需要的朋友可以点击链接领取软件测试全套基础/进阶/转行资料