常用关键字介绍

  在学习一门编程语言的时候,大多教材都是从打印“hello world”开始。我们可以像编程语言一样来学习 Robot Framework。虽然通过 RIDE 提供“填表”一样的写测试用例的方式。但它却有着像编程语言一样的强大的关键字,以及可以开发关键字的扩展能力。

1、log 就是“print”

log 关键字就是编程语言里的“print”一样,可以打印任何你想打印的内容。勾选测试用例,点击工具栏的“Run Tests”按钮或按快捷键“F8”执行测试用例。如图:

 
在 Run 标签页,将看到执行结果:
通过运行结果中看到,“INFO:”的“hello world” 就是通过 log 关键字打印的信息。

2、定义变量

在 robot Framework 中通过“Set variable”关键字来定义变量,如:

执行结果:

3、连接对象

“Catenate”关键字可以连接多个信息:

执行结果:

加上“SEPARATOR=”可以对多个连接的信息进行分割

执行结果:

4、定义列表

通过“Create List”关键字可以定义列表:
例 1:

例 2
如果通过“@{}”去定义列表的话,可以通过“log many”关键字进行打印:

 

执行结果:

5、时间的操作

在 Robot Framework 中也提供操作时间的关键字。
1) Robot Framework 中提供了“get time”关键字用来获取当前时间。

测试结果:

2) “sleep”关键字用来设置休眠一定时间

测试结果:

6、if 语句

通过“run keyword if”关键字可以编写 if 分支语句。

首先定义两个变量 a 等于 100
If 判断 a 大于等于 90 ,满足条件 log 输出 “优秀 ”;
不满足上面的条件,接着 else if 判断 a 大于等于 70 ,满足条件 log 输出 “良好”;
不满足上面的条件,接着 else if 判断 a 大于等于 60 ,满足条件 log 输出 “及格”;
上面的条件都不满足,else
log 输出“不及格”。
注:注意 sele if 和 else 前面的三个点点点(...)

执行结果:

7、for 循环

例 1,执行 10 次循环

在 Robot Framework 中编写循环通过“FOR”

通过“FOR”定义 for 循环;in range 用于指定循环的范围,END结束循环

执行结果:

注意,in range 定义为 10,它的范围是 0~9

例 2,遍历列表

“create list” 关键字用来定义列表(a,b,c),“@{}”用来存放列表。

执行结果:

通过过“:for”循环来来遍历@{abc}列表中的字符。

例 3,循环中的判断

通过“Exit For Loop If”关键字时行 for 循环内的判断,当满足 Exit For Loop If 条件后,循环结束。

执行结果:

从执行结果看到当循环到字符 c 时,Exit For Loop If 条件成立,结束循环;通过 log 打印当前的字符 c。

例 3,循环中的判断

8、强大的 Evaluate

为什么说“Evauate”关键字强大呢。因为通过它可以使用 Python 语言中所提供的方法。

例 1,生成随即数

在 Robot Framework 中使用“Evauate”也可以调用 Python 所提供的 random 模块下的 randint()方法。

执行结果:

9、导入库

在 Python 语言中可以使用 import 导入标准和第三方模块或框架。那么在 Robot Framework 中也提供了“Import Library”关键字来完成这个事情。

9.1调用框架

  我们导入了 Python 标准的单元测试框架 unittest。当然,在 Robot Framework 中并不能使用 unittest单元测试框架。这只里只演示“Import Library”等同于 Python 语言中的 import。
  假如我们通过“Import Library”导入一个不存在的模块,然后运行测试用例:
执行结果:

9.2调用 Python 文件

首先创建 test.py 文件:
#coding=utf-8

def add(a,b):
return a+b if __name__ == "__main__":
a = add(4,5)
print a
  运行结果为 9,这是再简单不过的小程序了。
  下面就通过 Robot Framework 调用 test.py 文件中的 add()函数。

执行结果:

从执行结果中看到和预想的结果不是样,不应该是 9 么?怎么是 45。这是因为 Robot Framework 把 4和 5 当前两个字符串。所以 4 和 5 拼接起来是 45。我们可以将 4 和 5 转化成 int 类型,再调用 add。

执行结果:

通过“Evaluate”转化成为 int 类型后,再调用 add 就得到了想要的结果。

10、注释

Robot Framework 中添加注释也非常简单。“Comment”关键字用于设置脚本中的注释。
除此之外,你也可以像 Python 一样使用“#”号进行注释。

这一小节中介绍的关键字全部由 Builtin 库提供,Builtin 为 Robot Framework 标准类库。Builtin库提供常用的关键字。

robot_framewok自动化测试--(4)常用关键字介绍的更多相关文章

  1. Robot Framework常用关键字介绍

    常用关键字介绍 在学习一门编程语言的时候,大多教材都是从打印“hello world”开始.我们可以像编程语言一样来学习 Robot Framework.虽然通过 RIDE 提供“填表”一样的写测试用 ...

  2. 二、robotframework接口测试-常用关键字介绍

    1.常用关键字介绍: a. 打印:log                                                  用法:log   打印内容 ---------------- ...

  3. Robot Framework学习笔记(三)------常用关键字介绍

    下面关键字全部由 Builtin 库提供,Builtin 为 Robot Framework 标准类库.Builtin库提供常用的关键字 1.log log 关键字就是编程语言里的"prin ...

  4. robot framework 常用关键字介绍

    1.log 打印所有内容 log hello word 2.定义变量 ${a} Set variable 92 log ${a}   3.连接对象 ${a} Catenate hello word l ...

  5. Robotframework自动化4-基础关键字介绍1

    前言 上一节已经介绍了APP的启动,那我们就会看到我们引用了一些关键字,对于AppiumLibrary都有哪些常用的关键呢,这一节主要介绍这一部分. AppiumLibrary 常用关键字介绍 1.关 ...

  6. Redis常用数据类型介绍、使用场景及其操作命令

    Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...

  7. 以太坊智能合约 Solidity 的常用数据类型介绍

    目录 目录 1.数组 1.1.对数组的增删改查操作. 2.String.Bytes.Mapping的使用 3.Enums 和 Structs 的简单应用 4.Ether 单位和 Time 单位 5.A ...

  8. AppiumLibrary常用关键字

    通过上一章节,open application关键字的使用,相信大家对手机自动化充满了兴趣,那么今天这一章节,主要介绍AppiumLibrary中常用关键字的使用. 一.实用函数 关键字 含义 实例 ...

  9. [Java并发编程(三)] Java volatile 关键字介绍

    [Java并发编程(三)] Java volatile 关键字介绍 摘要 Java volatile 关键字是用来标记 Java 变量,并表示变量 "存储于主内存中" .更准确的说 ...

随机推荐

  1. disruptor笔记之三:环形队列的基础操作(不用Disruptor类)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. Java 知识点 列表

    * Java SE Java开发基础 Java异常处理 Java泛型与反射 Java IO基础 JUnit单元测试 Java多线程开发 Maven基础  https://www.yiibai.com/ ...

  3. CF757F-Team Rocket Rises Again【最短路,DAG支配树】

    正题 题目链接:https://www.luogu.com.cn/problem/CF757F 题目大意 \(n\)个点\(m\)条边的一张无向图,求删除\(s\)以外的一个点改变\(s\)到最多点的 ...

  4. mybatis: No enum constant org.apache.ibatis.type.JdbcType."VARCHAR"

    mybatis 插入的时候一句sql报错如下. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ib ...

  5. TypeScript 条件类型精读与实践

    在大多数程序中,我们必须根据输入做出决策.TypeScript 也不例外,使用条件类型可以描述输入类型与输出类型之间的关系. 本文同步首发在个人博客中,欢迎订阅.交流. 用于条件判断时的 extend ...

  6. FastAPI小项目实战:电影列表(Vue3 + FastAPI)

    假期过半, FastAPI + Vue3项目实战 视频也算录完了,尽管项目简单(2张表 共7个接口 4个页面) 起因 在6月底的时候开始录制了FastAPI官方文档中的新手教程部分(实际还没有官网文档 ...

  7. 【转载】如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习,来自STM32神舟系列开发板设计师的总结

    [好文章值得分享,摘自作者:jesse] 来源:www.armjishu.com作者:jesse转载请注明出处 我的另一篇文章:<STM32嵌入式入门必看之文章-----介绍非常详细!(学STM ...

  8. .NET 分布式系统架构(有转载部分)

    一.设计目的 搭建一个大型平台需要综合考虑很多方面,不单纯是软件架构,还包括网络和硬件设备等.由于现代大部分应用建设都面临用户多.高并发.高可用的需求,传统软件架构已不能满足需求,需要支持分布式软件架 ...

  9. HTTP请求如何带参

    这两天正好作一份API的接口文档,关于HTTP request如何传递参数不是很清楚,这里转载了他人的文档,让我明白了很多.. http://tomfish88.iteye.com/category/ ...

  10. Sharding-JDBC自定义复合分片算法

    Sharding-JDBC自定义复合分片算法 一.背景 二.需求 1.对于客户端操作而言 2.对于运营端操作而言 三.分片算法 1.客户id和订单id的生成规则 2. 确定数据落在那个表中 3.举例说 ...