Robot Framework--RIDE面板与库的说明
Robot Framework的测试用例是以project作为单位进行管理的。
一个project可以包含多个Test Suite文件,每一个Test Suite可以包含多条测试用例
一个Test Suite文件包含四段内容:Setting、Variable、Testcase、Keyword
1. project----Edit区域

大体分成4个部分。
(1)加载外部文件
Library:加载测试库,主要是[PYTHON目录]\Lib\site-packages里的测试库。
Resource:加载资源,主要是你工程相关的资源文件。
Variables:加载变量文件,不怎么用,可暂时忽略。
(2)定义内部变量
Add Scalar:定义变量。
Add List:定义列表型变量。
Add Dict:
(3)元数据定义
Add Metadata:定义元数据。
(4)settings
一般settings是隐藏的,点击settings按钮,则会显示。
Documentation:文档,每一项都有。可以给当前的对象加入文档说明。
Suite Setup:指的是测试套件启动的时候就执行某个关键字。设置Test Suit执行前的动作(例:我在Suite Setup设置了Sleep | 5sec,表示等待5秒,要注意关键字的参数要使用 | 分隔)
Suite Teardown:指的是测试套件结束的时候就执行某个关键字。设置Test Suit执行完成后动作
Test Setup:指的就是案例启动的时候执行某个关键字。设置每一个TestCase执行前动作
Test Teardown:指的就是案例结束的时候执行某个关键字。设置每一个TestCase执行完成后的动作
Test Template:测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可。
Test Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。
Force Tags:在文件型Suite这里还可以继续给子元素增加Force Tags,但是他不能删除父元素设置的tags。
Default Tags:默认标记,其实和Force Tags没啥区别的。
Arguments:传入参数。
Return Value:返回值。
2. project----Text Edit区域
测试套件测试用例文本信息。

3.project----Run区域

Execution Profile:选择运行方式,里面有pybot、robot、jybot和custom script。默认pybot即可。
Start:运行案例。若该测试套件下的测试用例前无勾选,则默认执行该测试套件下所有的用例。若测试用例勾选,则执行该测试陶见下勾选的用例。
Stop:停止案例。
Report和Log: 报告和日志,要运行之后才能点击。他们的区别,报告更多是结果上的展示,日志更多是过程的记录,更多使用的还是日志。
Autosave: 自动保存,如果不勾选,在修改了案例之后如果没有保存的话,运行案例时会提示是否保存。勾选则在运行时自动保存了。
Arguments: pybot的参数(或者jybot等)。完整版的参数可以在doc命令行输入pybot.bat --help
Only Run Tests with these Tags: 只运行这些标记的测试案例。在case的setting里可以添加tag。
Skip Tests with these Tags: 跳过这些标记的测试案例。在case的setting里可以添加tag。
4.test case--Edit区域
(1)settings
Documentation:文档,每一项都有。可以给当前的对象加入文档说明。
Setup指的就是案例启动的时候执行某个关键字。
Teardown指的就是案例结束的时候执行某个关键字。
Tags:标记某个测试用例。在Run区中Only Run Tests with these Tags和Skip Tests with these Tags,会通过这个标志位来识别是否运行或跳过用例。
Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。
Template:测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可。
(2)表格区
最重要的部分,编写测试用例。
第一列一般写的是关键词,关键词的来源包括BuiltIn库,第三方导入库,自己编写的导入库。
使用技巧:
通过ctrl+alt+space可以自动带出相关关键字。以及相关用法,里边有对入参的说明。
Ctrl+鼠标悬浮(即鼠标在某个关键字上),可以直接显示关键字的相关用法。
第二三四五列,一般是入参,红色的表示必填的入参。浅灰色表示选填的入参。深灰色表示无需填写。

输入sho再同时按住ctrl+alt+space键,则可以自动带出相关关键字,以及选中关键字的用法。

对于已输入的关键字,忘了其用法,可以点击输入框再同时按住ctrl+alt+space键,即可查看该关键字的用法。

4.test case测试用例--Text Edit区域
同project。
5.test case测试用例--Run区域
同project。
6.Robotframework库的介绍
(1)BuiltIn内建库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库。如果用户想在测试用例中实现比较复杂的逻辑,
那就需要对BuiltIn中的重要关键字有一些了解。另外,BuiltIn库中还封装了很多常见方法和能够控制RF运行状态的关键字,如果想用好RF,一定要对BuiltIn库中的函数有一个比较全面的理解。


Convert To Boolean
Convert To Hex
Convert To Integer
Convert To Number
Convert To Octal
Convert To String
Run Keyword If All Critical Tests Passed
Run Keyword If All Tests Passed
Run Keyword If Any Critical Tests Failed
Run Keyword If Any Tests Failed
Run Keyword If Test Failed
Run Keyword If Test Passed
Run、Keyword If Timeout Occurred
7.第三方库
只有内建的库往往还不能满足需求,还可以导入第三方库,如操作页面的Selenium2Library。
第三方库,主要是[PYTHON目录]\Lib\site-packages里的库,一般安装的库会在此目录下。
在测试套件下的工作区的右方,点击Library,在弹出框的name栏输入“Selenium2Library”,点击OK即可。
当工作区的Library那一行黑色显示,说明导入成功(如果显示红色说明导入不成功,可自行百度解决)。
点击F5快捷键查看,可查看多了一个Selenium2Library的库。

8.导入自己编写的库
比如说有些功能想自己编写,比如说如下代码,想要导入实现校验url的功能,文件名为Myimport.py(文件名随意取的,最好是英文的),该文件保存在D:\robotframework\MyLibrary,
此时需要将该路径添加到[PYTHON目录]\Lib\site-packages下的后缀名为pth的文件(文件名随意取的,最好是英文的)中。
# -*- coding:utf-8 -*-
"""
自己编写,验证获得一个URL地址的扩展名。
"""
import re def Matchurl(str0):
u'''
验证url的有效性
'''
str1=re.split("[.]",str0)
listt = ['php','html','asp','jsp']
if str1[-1] in listt:
return "TRUE"
else:
return "FAIL" if __name__=='__main__':
str_input='hehe.php'
print match_url(str_input)
然后重启ride,在测试套件的工作区的右方,点击Library,在弹出框的name栏输入“Myimport”,点击OK即可。
点击F5,即可看到导入自己编写的库。
注意,在Myimport.py文件中编写函数描述时,前面要加u,否则F5查看时,会乱码。
注意,在Myimport.py文件中函数命名为MatchUrl和Match_Url,在ride中都会解析为Match Url。

在project中加的资源resource在这也可显示:login方法包含两个参数

9.外部资源(External Resources)
外部资源是指不在Project管辖范围内的资源文件,什么样的资源文件才算不在管辖范围内呢?如果是目录的Project,只要不在自己目录内的资源文件都算是外部资源;如果是文件的Project,因为本身无法创建资源文件,
其他的资源文件都算是他的外部资源,即使是和Project文件平级的。
在External Resources外部资源上单击鼠标右键,只有『Add Resource』命令,用来添加已有的外部资源文件。Project内部的资源文件没有必要再添加,因为它已经显示在资源区了。
添加外部资源文件,在External Resources上添加只能看看,真正的引用还是要到Test Suite或者Resource那里去添加才行。
Robot Framework--RIDE面板与库的说明的更多相关文章
- Python3+Robot Framework+RIDE安装使用教程
一.说明 Python3----网上很多文章都是用Python2,Robot Framework的部分文档没更新也直接写着不支持Python3(如RIDE does not yet support P ...
- Robot Framework - 2 - 创建测试库
04- 创建测试库--基础概念 Robot Framework 实际的测试能力是由测试库提供的. ***** 支持的编程语言 Robot Framework 自身是用 Python 编写的,能使用 P ...
- Robot Framework - 基础关键字 BuiltIn 库(二)
本篇教程,我们继续接着上篇内容进行讲解,我们本节教程讲解的是Robot Framework 机器人框架中的变量中使用判断.字符串的拼接.Evaluate的用法.调用Python文件.条件分支语句.以及 ...
- Robot Framework - 基础关键字 BuiltIn 库(一)
今天给大家分享的是Robot Framework 机器人框架中 BuiltIn 基础库的使用...BuiltIn 库里面提供了很多基础方法助力于我们在自动化测试领域中做的更好!——本系列教程是教会大家 ...
- Robot Framework常用的操作库列表
标准库是Robot Framework可以直接导入使用的库,包含以下几类: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的 ...
- 学习Robot Framework必须掌握的库—-BuiltIn库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...
- robotframework的学习笔记(十四)------学习Robot Framework必须掌握的库—-BuiltIn库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...
- 【转】学习Robot Framework必须掌握的库—-BuiltIn库
作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...
- robot framework学习五——AutoltLibrary库
安装中遇到的问题: 安装好了AutoItLibrary,但是导入到RIDE后,仍然红色显示 搜索了下解决办法,说要安装下autoit-v3-setup.exe https://www.autoitsc ...
- Robot Framework RIDE简单使用
Testproject Testsuite Testcase 1.创建测试项目 打开RIDE,点击File--New Project,选择项目路径,填入项目名称 2.右键点击新建的测试项目,选择New ...
随机推荐
- spark源码阅读 RDDs
RDDs弹性分布式数据集 spark就是实现了RDDs编程模型的集群计算平台.有很多RDDs的介绍,这里就不仔细说了,这儿主要看源码. abstract class RDD[T: ClassTag]( ...
- Amazon SQS 消息队列服务
Amazon sqs是亚马逊提供的线上消息队列服务, 可以实现应用程序解耦,以及可靠性保证. sqs提供了两种消息队列, 一种是标准消息队列, 一种是先进先出队列(FIFO), 其区别是FIFO是严格 ...
- 页面数据加载完成时,显示loading页面.数据加载完,loading隐藏.
一,引入三个文件 jQuery版本使用 jQuery v1.7.1 jquery-easyui文件中,引入easyui-lang-zh_CN.js的js 做数据加载时使用jquery.blockui. ...
- [转帖]Java 2019 生态圈使用报告,这结果你赞同吗?
Java 2019 生态圈使用报告,这结果你赞同吗? http://www.51testing.com/html/94/n-4462794.html 发表于:2019-10-15 17:10 作者: ...
- [转帖]QC 和 PD:关于你所不知道的快充
QC 和 PD:关于你所不知道的快充 http://www.sohu.com/a/276214250_465976 2018-11-18 06:02 当我们使用支持 PD 或者 QC 快充协议的电源适 ...
- [ES] - 图形化界面工具
推荐更新: Windows平台为 ElasticSearch 6.x 安装 Head 客户端插件 elasticsearch-head A web front end for an Elasticse ...
- MySQL 索引最佳实践
原文请关注 这里 这是 文章 的翻译,在翻译过程中,会对其中涉及到的语句加上一些个人理解以及 SQL 语句的执行,并进行特别的标注. 1. 你做了一个很棒的选择,因为: 对于普通开发者和 DBA,理解 ...
- qt 旧项目编译运行提示 “启动程序失败,路径或者权限错误?” 原因及解决方法
qt 旧项目编译运行提示 "启动程序失败,路径或者权限错误?" 原因及解决方法 原因 Qt Creator在打开项目文件的同时会生成.pro.user文件,.pro.user文件叫 ...
- 剑指offer31:整数中1出现的次数(从1到n整数中1出现的次数)
1 题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙 ...
- MySQL监控&性能瓶颈排查
监控的意义&目的 业务/数据库服务是否可用 通过事务实时性能数据变化感知业务的变化 数据库性能变化趋势判断服务器资源是否足够 数据可靠性 业务数据是否可靠 服务可用,不代表数据就是正确的 有可 ...