Robotframework之基础必备

1、简介与特点

RF是一个基于python语言开发的,可扩展的,以关键字驱动模式,结合Selenium实现的一个开源的自动化测试框架。

可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。它可用于测试分布式异构应用程序,其中验证需要涉及多种技术和接口

RF在2019年的7月之前,支持2.7;RF在2019年7月之后,支持3.7。

目前主流的自动化测试框架,RF、AirTest

数据驱动和关键字驱动:

  • 数据驱动:把测试用例的数据单独的提取出来,放到excel里面或者yaml文件里面,通过改变excel或者yaml文件汇总的数据来驱动用例执行。

  • 关键字驱动:把项目中的逻辑封装成一个关键字,调用不同的关键字来实现不同的逻辑,从而驱动用例执行。

特点:

1、编写用例简单,可以以robot.txt,csv,html的格式来保存用例

2、自动生成html格式的自动化测试报告日志。

3、除了自带的类库之后,还有很多扩展库。

4、根据项目的需要,自定义关键字。(自定义关键字其实就是业务逻辑)

5、使用命令行的方式,和jenkins集成。

为何选择RF??

  • 启用易于使用的表格语法,以统一的方式创建测试用例
  • 提供从现有关键字创建可重复使用的更高级别关键字的功能。
  • 提供易于阅读的结果报告和HTML格式的日志
  • 平台和应用程序是独立的。
  • 提供一个简单的库API,用于创建自定义测试库,可以使用Python或Java本机实现。
  • 提供命令行界面和基于XML的输出文件, 以便集成到现有构建基础架构(持续集成系统)中。
  • 为Selenium提供Web测试,Java GUI测试,运行进程,Telnet,SSH等支持。
  • 支持创建数据驱动的测试用例
  • 内置对变量的支持,特别适用于不同环境下的测试。
  • 提供标记以分类和选择要执行的测试用例
  • 实现与源代码控制的轻松集成:测试套件只是可以使用生产代码进行版本控制的文件和目录。
  • 提供测试用例测试套件级别的设置和拆卸。
  • 模块化架构支持创建测试,即使对于具有多种不同接口的应用程

2、RF环境安装

以管理员的身份打开dos窗口

  1. 安装python3.7.3,配置环境变量,下载谷歌的浏览器驱动,放到python目录下

  2. 在dos命令下输入:pip install robotframework==3.1(安装此版本,比较稳定)

  3. 在dos命令下输入:pip install robotframework-ride (相当于开发工具,pycharm)

  4. 在dos命令下输入:pip list

  5. 在dos命令下输入:ride.py或者点击桌面的ride快捷方式

【注意】如果pip命令使用不可,说明python路径下scrip目录没有配置到path下:D:\Python37\Scripts(不建议路径有空格)

3、RIDE界面的介绍

Edit四大块:(setting设置、导入外部文件、定义内部变量、定义元数据)

setting:测试套件的准备工作、测试套件的扫尾工作、测试用例的准备工作、测试用例的扫尾工作、强制标记

4、RF类库的介绍

1、标准库:BuiltIn(测试库)、Collections(集合库)、DateTime(时间库)、Screenshot(截屏库)

  • BuiltIn :包含经常需要的关键字。自动导入无需import,因此总是可用的
  • DateTime:日期和时间转换的库,支持创建和验证日期和时间值以及它们之间的计算
  • Collections:提供一组关键词处理Python列表和字典。
  • Screenshot:提供关键字来捕获和存储桌面的截图。

2、扩展库

Web自动化测试:SeleniumLibrary , Selenium2Library ,Selenium2Library for java

App自动化测试:AppiumLibrary

API接口自动化测试:RequestsLibrary

安装:pip install robotframework-seleniumlibrary

标准库的位置:C:\python373\Lib\site-packages\robot\libraries

扩展库的位置:C\python373\Liblsite-packages

 • seleniumlibrary:Web测试库,内部使用比较流行的selenium工具。利用早期的selenium1.0和本身已经过时。

    • selenium2library:使用selenium2的Web测试库。替换了大部分老的seleniumlibrary。

    • selenium2library java:selenium2library的java接口

 • appiumlibrary:Android和iOS测试库,内部使用的是appium

  其它库介绍可参考:Robot Framework常用库简介

5、基础应用

1. 新建项目 dictionary

2. 新建文件 txt

3. 新建用例

快捷键:

F5——搜索关键字,弹出窗口,搜索关键字,下面会有说明,来源于哪些库,example表示关键字使用的实例

ctrl+shift+空格 ——自动补全关键字,如果是蓝色表示关键字是OK的,关键字后面红色的单元格表示需要输入关键字参数,根据example实例填写

6、关键字的使用

备注关键字输入内容    
 Comment注释内容    
定义变量${a}变量名    
打印输出Log${a}    
获取系统时间${times}get time    
 Log${times}    
强制等待sleep3    
 ${total_str}CatenateSEPARATOR=||张三李四 
 Log${total_str}    
创建列表${list2}create listoraclemysqlsqlsever 
 Log Many${list2}    
创建字典${dic}Create Dictionaryname陈哆肉age18
 Log${dic}    
获取字典的键 ${dic_keys}Get Dictionary Keys${dic}   
 Log

${dic_keys}

    
 ${dic_values}Get Dictionary Values    
 Log${dic_values}    
导入外部文件的方式以及使用方法${rand_num}Evaluaterandom.randint(1,10)modules=random  
 Log${rand_num}    
流程控制IF语句${num}Set Variable100   
 Run Keyword If80<=${num}<=100log优秀  
 ...Else IF60<=${num}<80log一般 
打印输出单个内容...Elselog较差  
多个打印输出,需要先自定义关键字,然后Else后输出...Else自定义关键字(可以为中文)   
流程控制FOR语句1For${a}INABC
 log${a}    
 END     
流程控制FOR语句2FOR${a}IN RANGE111 
 Run Keyword If${a}==5Exit For Loop   
 log${a}    
 END     
流程控制FOR语句3@{list}create listABC 
 FOR${a}IN@{list}  
 log${a}    
 END     
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值