Robot Framework常用关键字
虽然通过RIDE提供“填表”一样的写测试用例的方式。但它却支持强大的关键字功能,以及可以开发关键字的扩展能力。
Comment
注释功能,也可以使用python中的"#"
| Comment | 注释 |
|---|---|
| #注释 |
log
打印。类似于print
| log | Hello World |
|---|
set variable
定义变量
| ${a} | set variable | Hello World!!! |
|---|---|---|
| log | ${a} |
catenate
连接对象
| ${a} | catenate | hello | world |
|---|---|---|---|
| log | ${a} |
SEPARATOR
对多个连接进行分割(必须大写)
| ${a} | catenate | SEPARATOR=, | hello | world |
|---|---|---|---|---|
| log | ${a} |
create list
创建列表
| ${a} | create list | a | b | c |
|---|---|---|---|---|
| log | ${a} |
通过@{}定义列表
必须使用 log many 打印
| @{a} | create list | a | b | c |
|---|---|---|---|---|
| log many | @{a} |
get time
获取当前时间
| ${a} | get time |
|---|---|
| log | ${a} |
sleep
设置休眠时间
| ${a} | get time |
|---|---|
| sleep | 5 |
| ${a} | get time |
run keyword if
通过该语句可以编写if分支语句
| ${a} | set variable | 59 | ||
|---|---|---|---|---|
| run keyword if | ${a}>=90 | log | 优秀 | |
| ... | ELSE IF | ${a}>=60 and ${a}<90 | log | 一般 |
| ... | ELSE | log | 菜 |
:FOR
实现循环
| :FOR | ${i} | IN RANGE | 10 |
|---|---|---|---|
| log | ${i} |
列表遍历
| @{lista} | create list | a | b | c |
|---|---|---|---|---|
| :FOR | ${a} | in | @{lista} | |
| log | ${a} |
Exit For Loop If
退出循环的判断语句
| @{lista} | create list | a | b | c |
|---|---|---|---|---|
| :FOR | ${a} | IN | @{lista} | |
| exit for loop if | '${a}'=='b' | |||
| log | ${a} |
Evaluate
执行python中的方法
| ${a} | Evaluate | random.randint(1000,9999) | random |
|---|---|---|---|
| log | ${a} |
Import Library
导入标准和第三方模块或框架。比如调用unittest单元测试框架
| Import Library | unittest |
|---|
导入外部py文件
| Import Library | c:/test.py | ||
|---|---|---|---|
| ${sum} | add | 3 | 4 |
| log | ${sum} |
| Import Library | c:/test.py | ||
|---|---|---|---|
| ${a} | Evaluate | int(4) | |
| ${b} | Evaluate | int(5) | |
| ${sum} | add | ${a} | ${b} |
| log | ${sum} |
Take Screenshot
截取当前屏幕,Screenshot库为robot framework的标准类库,需手动加载

字典
Collections库:该库为Robot Framework标准类库,它提供的关键字主要用于列表、索引、字典的处理。需要手动加载。
Create Dictionary
创建字典
| ${dict} | Create Dictionary | sname | Luffy | age | 19 |
|---|
Get Dictionary Items
获取字典中的key和value
| ${item} | Get Dictionary Items | ${dict} |
| log | ${item} ||
Get Dictionary Keys
获取字典中的key
| ${keys} | Get Dictionary keys | ${dict} |
|---|---|---|
| log | ${keys} |
Get Dictionary Values
获取字典中的value
| ${values} | Get Dictionary Values | ${dict} |
|---|---|---|
| log | ${values} |
Get From Dictionary
根据key获取对应的value
| ${a} | Get From Dictionary | ${dict} | sname |
|---|---|---|---|
| log | ${a} |
Robot Framework常用关键字的更多相关文章
- Robot Framework常用关键字介绍
常用关键字介绍 在学习一门编程语言的时候,大多教材都是从打印“hello world”开始.我们可以像编程语言一样来学习 Robot Framework.虽然通过 RIDE 提供“填表”一样的写测试用 ...
- robot framework 常用关键字介绍
1.log 打印所有内容 log hello word 2.定义变量 ${a} Set variable 92 log ${a} 3.连接对象 ${a} Catenate hello word l ...
- Robot Framework 常用关键字使用方法
1. Select From Listid=sourceConnoracle_source 从下拉框选取值. 2. Select Radio button name value 选择单选框.也可以点 ...
- 三:robot framework常用关键字
该部分介绍的是内置库:Builtin,估不需要导入,即可使用 1.RF中定义一个变量: ${XXX} XXX表示:变量名 *** Settings *** *** Test Cases *** 定 ...
- robotframework的学习笔记(十三)------Robot Framework常用库简介
标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...
- Robot Framework - 基础关键字 BuiltIn 库(二)
本篇教程,我们继续接着上篇内容进行讲解,我们本节教程讲解的是Robot Framework 机器人框架中的变量中使用判断.字符串的拼接.Evaluate的用法.调用Python文件.条件分支语句.以及 ...
- Robot Framework - 基础关键字 BuiltIn 库(一)
今天给大家分享的是Robot Framework 机器人框架中 BuiltIn 基础库的使用...BuiltIn 库里面提供了很多基础方法助力于我们在自动化测试领域中做的更好!——本系列教程是教会大家 ...
- Robot Framework常用库简介
标准库 Robot Framework可以直接导入使用的库,包括: • Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 • Dialogs:提供了暂停测试执行和从用户的 ...
- Robot Framework常用的操作库列表
标准库是Robot Framework可以直接导入使用的库,包含以下几类: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的 ...
随机推荐
- Pycharm工具使用和安装
1.安装包:https://pan.baidu.com/s/1O9JwuowlodhTR1m0VaKmhg 2.双击安装包安装: 3.选择安装目录 4.安装选项,Create Associations ...
- 【使用篇二】SpringBoot热部署(11)
热部署有三种方式: SpringLoader 插件 DevTools 工具 安装JRebel插件 注意:热部署的功能依赖于工具的自动编译,Eclipse-->Build Automaticall ...
- djang项目中的疑问及解决办法(ValueError: Invalid model reference 'apps.user.User'. String model references must be of the form 'app_label.ModelName'.)
这个问题其实就是apps.user.User这种用法是不对的,就在下面的模型中,我本来是绑定apps.user.User,但是试了一下,由于order和user是在同一个apps中,所以直接用user ...
- itsdangerous模块
使用场景: 在取消订阅时,可以在URL里序列化并且签名一个用户的ID或在任何的激活账户的链接或类似的情形下使用.这种情况下不需要生成一个一次性的token并把它们存到数据库中. 被签名的对象可以被存入 ...
- SQL Server 迁移数据库 (一)导入和导出
今天正好换服务器,记录一下迁移数据库的过程. 以前经常用备份还原法,今天试试‘SQL Server 2016 导入和导出数据’这个看怎么玩. 1. 建数据库结构 1.1 在需要迁移的数据库名字上右击, ...
- [THUPC2018]生生不息(???)
SB题,写来放松身心. 首先 $n,m\le 5$,这是可以打表的. 本地怎么对于一个 $n,m$ 求答案?此时虽然复杂度不需要太优,但是还是得够快. 一个想法是枚举每个初始状态,不停模拟.因为总状态 ...
- [LeetCode] 879. Profitable Schemes 盈利方案
There are G people in a gang, and a list of various crimes they could commit. The i-th crime generat ...
- [LeetCode] 69. Sqrt(x) 求平方根
Implement int sqrt(int x). Compute and return the square root of x, where x is guaranteed to be a no ...
- [LeetCode] 52. N-Queens II N皇后问题之二
The n-queens puzzle is the problem of placing nqueens on an n×n chessboard such that no two queens a ...
- elasticsearch配置集群+elk报错总结
配置ELK的时候,我平常遇到了以下几种报错情况,整理如下(持续更新中): elasticsearch启动失败 # systemctl start elasticsearch Job for elast ...