简介

作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似ifelsewhile等内置关键字来实现各种逻辑功能(注1),而是提供给了用户BuiltIn库。如果用户想在测试用例中实现比较复杂的逻辑,那就需要对BuiltIn中的重要关键字有一些了解。另外,BuiltIn库中还封装了很多常见方法和能够控制RF运行状态的关键字,如果想用好RF,一定要对BuiltIn库中的函数有一个比较全面的理解。下面就带着大家认识一下BuiltIn库中比较重要的关键字。

Catenate

用于连接字符串,默认以空格分隔,可以指定分隔符
catenate SEPARATOR= a b ,这样就连接为ab.

Evaluate

如果你需要进行一些数值运算并得到结果,你就需要用到Evaluate关键字。Evaluate会把你想要计算的表达式直接传递给Python,并把Python的计算结果返回给你。这是最经常要用到的。

Should 系列关键字

Should系列关键字是Should大头的一系列关键字。如ShouldBe Empty · ShouldBe Equal · ShouldBe Equal As Integers · ShouldBe Equal As Numbers · ShouldBe Equal As Strings · ShouldBe True · ShouldContain · ShouldContain X Times· ShouldEnd With · ShouldMatch · ShouldMatch Regexp · ShouldNot Be Empty · ShouldNot Be Equal · ShouldNot Be Equal As Integers · ShouldNot Be Equal As Numbers · ShouldNot Be Equal As Strings · ShouldNot Be True · ShouldNot Contain · ShouldNot End With · ShouldNot Match ·ShouldNot Match Regexp · ShouldNot Start With · ShouldStart With 这些关键字都是用作判断时用的,每个用例都会用到,比如我们的执行结果得到了一个字符串,我们要判断这个字符串要与一个预期字符串相等,否则用例就无法通过,这时候,肯定会用上Should Be Equal As String关键字,其它关键字我们通过关键字的名字就能顾名思义,知道它的作用。

Convert To系列关键字

ConvertTo Binary · ConvertTo Boolean · ConvertTo Hex · ConvertTo Integer · ConvertTo Number · ConvertTo Octal · ConvertTo String做类型转换比不可少。

Run keyword系列关键字

RunKeyword If · RunKeyword If All Critical Tests Passed · RunKeyword If All Tests Passed · RunKeyword If Any Critical Tests Failed ·RunKeyword If Any Tests Failed · RunKeyword If Test Failed · RunKeyword If Test Passed · RunKeyword If Timeout Occurred ·
这些关键字能根据一个判断条件的真假来看是否执行关键字。一般使用这些关键字来实现高级语言中的ifelse功能。最常用的是Run Keyword If 和 Run Keyword unless 他们俩实现的效果正好相反。

Exit ForLoop

用作退出循环,一般和Run keyword if关键字联合使用,来实现条件退出。

Wait Until Keyword Succeeds

这是一个将异步调用变为同步调用的关键字。举一个例子:如果call某个WebService,并且需要得到返回结果才能做下一部操作。我们就会用到这个关键字。

其它

BuiltIn库里还有很多宝贝,比如日期相关的关键字GetTime。让测试暂停的Sleep等。都相当有用。详见:http://robotframework.googlecode.com/hg/doc/libraries/BuiltIn.html
注1:RF目前仅有2个内置关键字:FOR 和 IN,来实现循环结构。功能还是比较弱的。

BuiltIn库的更多相关文章

  1. 学习Robot Framework必须掌握的库—-BuiltIn库

    作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...

  2. robotframework的学习笔记(十四)------学习Robot Framework必须掌握的库—-BuiltIn库

    作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...

  3. 【转】学习Robot Framework必须掌握的库—-BuiltIn库

    作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库.如果用户想在测试用例中实现比较复杂的 ...

  4. Robot Framework - 基础关键字 BuiltIn 库(一)

    今天给大家分享的是Robot Framework 机器人框架中 BuiltIn 基础库的使用...BuiltIn 库里面提供了很多基础方法助力于我们在自动化测试领域中做的更好!——本系列教程是教会大家 ...

  5. Robot Framework - 基础关键字 BuiltIn 库(二)

    本篇教程,我们继续接着上篇内容进行讲解,我们本节教程讲解的是Robot Framework 机器人框架中的变量中使用判断.字符串的拼接.Evaluate的用法.调用Python文件.条件分支语句.以及 ...

  6. RF内置库-----内置库的学习过程总结

    前段时间充忙的学习RF,系统学习完之后就开始动手做各种接口的测试,虽然各类的接口测试基本能跑通了,但是重复造车的问题存在太明显.RF本身内置库就已经比较丰富,比如不需要import直接就加载到内存的B ...

  7. robotframework的学习笔记(十五)----robotframework标准库Collections

    Collections库是RobotFramework用来处理列表和字典的库,官方文档是这样介绍的:A test library providing keywords for handling lis ...

  8. Robot Framework - 3 - 测试库API

    08- 创建测试库--发布测试库 ***** 测试库文档 为了便于维护,测试库文档应该从源代码中生成. Robot  Framework 有自己的文档工具 libdoc.py生成 API 文档. 一个 ...

  9. Robot framework--内置库xml学习(一)

    Using lxml By default this library uses Python's standard ElementTree module for parsing XML, but it ...

随机推荐

  1. Delphi 处理异常情况

  2. Raspbian 2019-06-20 发布

    有关新Raspbian的信息是作为今天博客文章的一部分提供的,该帖子宣布了全新的Raspberry Pi 4: 为了支持Raspberry Pi 4,我们发布了一个全新的操作系统,基于即将发布的Deb ...

  3. 00-B-springmvc分布式项目项目结构

    两个和具体业务关联不紧的模块,单独记录.有的项目可能不需要这两个模块 05模块:p2p-pay 该模块专门用来统一各种支付实现,比如Alipay.微信支付等 com.bjpowernode.pay顶级 ...

  4. Java语言基础(6)

    1 while循环 案例:Demo1 1+2+3+4+5+...+100 = ? 首先定义一个变量sum,用来保存累加之和,int sum=0 第1次:sum = sum + 1 第2次: sum = ...

  5. java8学习之内部迭代与外部迭代本质剖析及流本源分析

    关于Stream在Java8中是占非常主要的地位的,所以这次对它进行进一步探讨[这次基本上都是偏理论的东东,但是理解它很重要~],其实流跟咱们数据库学习当中的sql语句的特点是非常非常之像的,为什么这 ...

  6. Js 实现 多个tr 点击变色,再点击还原

    我用的是渲染页面,将自定义的值作为一个表示符判断当前状态 <!DOCTYPE html> <html> <head> <meta charset=" ...

  7. mysql和oracle的语法差异(网络收集)

    oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了.oracle要分页的话,要换成rownum. oracle建表时,没有auto_increment,所 ...

  8. k8sCronJob控制器

    CronJob用于管理job控制器资源的运行时间,job控制器定义的作业任务在其控制器资源创建之后便会立即执行,但cronjob可以以类似于linux操作系统的周期性任务作业计划的方式控制其运行时间点 ...

  9. 网络编程简介(OSI七层协议,TCP协议原理,三次握手与四次挥手)

    目录 网络编程 软件开发架构 C/S架构 B/S架构 网络编程的发展史 互联网协议 1.物理连接层 2.数据链路层 3.网络层 4.传输层 5.应用层 三次握手四次挥手 三次握手建链接 数据传输 四次 ...

  10. 【leetcode】1250. Check If It Is a Good Array

    题目如下: Given an array nums of positive integers. Your task is to select some subset of nums, multiply ...