前言

我们公司在推广RF这个框架做后端接口测试,力求让同事们能更快的完成服务端需求的自动化,作为主导者之一,决定分享一些经验,方便后来者。

我会从安装部署、Request、selenium、自定义框架、jenkins集成docker运行五个方面来记录这些信息。

环境部署

Python3

我们的第一步就是安装Python3,安装方法可以自行搜索。

venv

每个应用可能需要各自拥有一套“独立”的Python运行环境。venv就是用来为一个应用创建一套“隔离”的Python运行环境。

在新版本的Python3中,venv环境隔离工具已经集成到了标准库中,我们可以开包即用。首先,创建一个目录,如:RF_XX,在终端中切换到这个目录,执行下面的命令:

python3   -m venv venv

命令解析:前一个venv 表示执行venv 命令,后一个venv表示创建一个名称叫venv的虚拟环境。

执行上面的命令之后,我们的虚拟环境的创建完成了,以类unix环境为例,Windows大同小异。我们能看到生成了一个venv目录,目录下有3个文件夹:binincludelib ,以及一个文件:pyvenv.cfg。其中bin存储的是这个环境的一些可执行程序,lib 存储的是从主Python中复制过来的包,我们后续要安装的包也会保存在这里。pyvenv.cfg中的信息如下,我们可以修改include-system-site-packages来控制在虚拟环境中是否使用系统中的库。

# cat pyvenv.cfg
home = /usr/local/bin
include-system-site-packages = false
version = 3.7.1
venv的使用

如果我们使用的是Pycharm我们可以直接在设置中搜索Project Interpreter来设置当前项目使用的Python环境(包含虚拟环境)。直接在终端中,我们也可以通过下面的方式来设置Python的运行环境,以上面的虚拟环境为例,我们执行下面的指令就能进入虚拟环境:

source venv/bin/activate

注: Windows下直接执行activate即可,但是cmd窗口需以管理员权限运行,脚本在script目录下,不在bin目录下。

进入虚拟环境的标志是你的终端提示符前面会展示你的环境名称,比如博主就是:

(venv) bingo@Mac RF$

和进入python虚拟环境一样,退出也很简单:

deactivate

退出后终端前面的环境信息会消失。

安装robotframework

按照RF很简单,在终端中确保是在虚拟环境中(提示信息前缀),执行下面的命令:

pip install robotframework

校验

将下面的信息保存到一个文件中,比如hello.robot,然后执行pybot hello.robot

*** Test Cases ***

test case1
log hello robot framework

注: Windows用户虚拟环境Scripts 目录下是否有 pybot.bat 文件,正确安装 Robot Framework 一定会生成该文件。如果要在非venv环境执行,记得一定要将Scripts目录添加到环境变量 path。

执行上面的命令后会看到如下的日志信息,同时目录下面会生成三个文件:log.htmloutput.xmlreport.html

(venv) bingo@Mac standard_case$ pybot hello.robot
==============================================================================
Hello
==============================================================================
test case1 | PASS |
------------------------------------------------------------------------------
Hello | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output: /Users/bingo/Hebinz/PY/RF/testcase/standard_case/output.xml
Log: /Users/bingo/Hebinz/PY/RF/testcase/standard_case/log.html
Report: /Users/bingo/Hebinz/PY/RF/testcase/standard_case/report.html

至此,我们的RF环境就搭建完成了,我们可以在浏览器中打开report.html:

用例编写工具

RIDE

RIDE当前官方的仅支持Python2.x,虽然有开发者做了Python3版本的,但是不太稳定。

下载地址:https://github.com/HelioGuilherme66/RIDE/releases

pycharm IntelliBot

pycharm>File>setting>Plugins,搜索IntelliBot 即可

Eclipse RED

Red插件安装:

Click Help -> Eclipse Marketplace -> and type into Find field "RED robot"
Click Help -> Install New Software -> Add and set address in Location to:
http://master.dl.sourceforge.net/project/red-robot-editor/repository

初学者推荐使用RED,这个是诺基亚开源的插件。更多的插件大家可以访问这个地址:https://robotframework.org/#tools

基本上主流的编辑器都能找到对应的:

运行测试

RF的用例一般都是以命令行的方式运行的,插件集成的运行最终也是体现到命令行上,所以我们一起了解一些它都有哪些运行方式。

运行文件中一条用例:

pybot --test test_case_name test_suit.robot

运行指定文件:

pybot test_suit.robot

运行当前目录下以.robot为后缀名的测试文件

pybot *.robot

运行当前test_a目录下的所有用例

pybot test_a

运行当前目录及其子目录所有用例

pybot ./

运行指定tag的用例

pybot --include evalua request.robot

总结

  • Python3 venv
  • RF 安装
  • 用例运行方式总结
  • 编辑器

最新文章

  1. Oracle手边常用命令及操作语句
  2. LeetCode:461. Hamming Distance
  3. Boost学习笔记(五) progress_display
  4. javascript类型系统——字符串String类型
  5. ROS Hotspot服务器的搭建与设定!(上网认证)
  6. EVA资料
  7. Huffman
  8. 信息图形(Infographic)
  9. MySQL中部分系统变量介绍
  10. Mysql异常:MySQLNonTransientConnectionException: No operations allowed after statement closed
  11. 怎样学好C语言,一个成功人士的心得!
  12. 事件处理(Event Handlers) ng-click操作
  13. Jasperreports以及iReport4.5报表PDF导出字体完美解决方案
  14. apache配置,禁止ip访问web站点
  15. 理解WebKit和Chromium: Chromium WebView和Chrome浏览器渲染机制
  16. ArrayList的add(E e)方法与扩容
  17. CentOS 7 配置DHCP中继代理服务
  18. vue配置手机通过IP访问电脑开发环境
  19. windows for windows:下载、安装
  20. 7-4素数环 uva 524

热门文章

  1. 谁有stanford ner训练语料
  2. 人生苦短之我用Python篇(socket编程)
  3. zw版【转发·台湾nvp系列Delphi例程】HALCON FastThreshold1
  4. Spring,Struts2,MyBatis,Activiti,Maven,H2,Tomcat集成(三)——H2,MyBatis集成
  5. 全局监听SCREEN_ON和SCREEN_OFF的替代方法--监听屏幕解锁事件
  6. Python tricks(7) -- new-style class的__slots__属性
  7. IOS中position:fixed吸底时的滑动出现抖动的解决方案
  8. centos7.3上安装oracle xe 11g
  9. CF#235E. Number Challenge
  10. linux一键安装包