Robot Framework 常用函数库

本文详细介绍了Robot Framework中的内置库(如Builtin、Dialogs等)及其功能,同时涵盖了如何使用扩展库如Androidlibrary、seleniumlibrary等。重点讲解了Evaluate万能关键字和类型转换技巧,以及变量操作、关键字操作和条件控制等核心概念。
摘要由CSDN通过智能技术生成

1.1 内置库介绍

​ 内置库又称Standard Library,即标准库,还有一种External library,即扩展库,也称为第三方库。

​ 标准库直接绑定在rf内,扩展库需要自行下载然后安装导入使用,标准库也分为两类,使用前不需导入的库:builtin,这类库是rf自动加载;另一类使用前需要导入,如collections,这类库使用前需要导入才能使用库中的关键字。

1.1.1 标准库

​ RF 标准库无需下载,直接导入使用即可,包括:

库名作用是否需要导入
Builtin包括经常使用的关键字,如Evaluate,Log关键字,F
Dialogs提供了暂停测试执行和从用户输入的方式,T
collections提供一组关键字处理python列表和字典,T
OperatingSystem执行各种操作系统相关的任务T
Remote远程库接口的一部分,本身没有任何关键字,作为rf和测试库之间代理的特殊库,实际测试库可以在不同的机器上运行,可以使用任何编程语言支持XML-RPC协议的实现T
Screenshot提供关键字来捕获和存储桌面的截图,T
string用于处理字符串并验证他们的内容,如修改,生成,验证字符串T
Telnet支持连接到telnet服务器上T
xml用于生成、修改、和验证xml文件的库T
Process系统中运行过程的库T
DateTime日期和时间转换的库,支持创建和验证日期和时间值以及他们之间的计算T

​ XML-RPC协议:请求体为xml的http-post请求,服务器把执行结果以xml格式编码返回

​ Telnet:TCP/IP协议族中的一员,是internet远程登陆服务的标准协议和主要方式,提供了在本地计算机完成远程主机工作的能力,是常用的远程控制web服务器的方法。

1.1.2扩展库

​ rf需要下载安装后使用的库,这里不一一列举

  1. Android library:所有android自动化需要的测试库,内部使用的是Calabash Android

  2. iOS library:所有iOS自动化需要的测试库,内部使用Calabash iOS服务

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

  4. HTTP library (livetest):内部使用LiveTest工具的HTTP测试的库。

  5. HTTP library (Requests):内部使用request工具的HTTP测试的库。

  6. MongoDB library:使用pymongo和MongoDB交互的库。(MongoDB是一个基于分布式文件存储的数据库)

  7. Database Library (Java):基于Java的数据库测试库。也可使用Jython和Maven central.

  8. Database Library (Python):基于Python数据库测试库。支持任何Python解释器,包括Jython。

  9. watir-robot:使用Watir的工具的Web测试库。

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

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

  12. selenium2library java:selenium2library的java接口

  13. Django Library:为Django的库,一个Python Web框架。

  14. sudslibrary:一种基于泡沫基于SOAP的Web服务的功能测试库,动态的SOAP 1.1的客户端。

  15. Archive library:处理.zip和.tar压缩包的库。

  16. Diff Library:比较两个文件的库。

  17. FTP library:Robot Framework上测试和使用FTP服务的库。

  18. SSHLibrary:通过SSH连接的在远程机器上执行命令。还支持使用SFTP进行文件传输

  19. rammbock:通用的网络协议测试库;提供简单的方法来指定网络数据包,并检查发送和接收数据包的结果。

  20. imagehorizonlibrary:跨平台、基于图像识别的GUI自动化纯Python库。

  21. autoitlibrary:Windows的GUI测试库,使用AutoIt的免费工具作为驱动。

  22. Eclipse Library:使用SWT窗口小部件测试Eclipse RCP应用程序的库。

  23. robotframework-faker:一个服务faker的库,faker的测试数据生成器。

  24. swinglibrary:用Swing GUI测试java应用程序库

  25. remoteswinglibrary:使用swinglibrary库测试和连接一个java进程,尤其是java web
    start的应用。(Java Web Start 是基于 Java 技术的应用程序的一种部署解决方案,它是连接计算机和 Internet
    的便捷通道,允许用户在完全脱离 Web 的情况下运行和管理应用程序)

  26. MQTT library:测试MQTT brokers和应用的库。

1.2 Evaluate万能关键字

​ Evaluate关键字在rf框架中被称为万能关键字,他能让你直接运行python脚本,在标准库和扩展库都不能满足功能需求时,直接使用python脚本实现。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bov5SRha-1619166759213)(C:\Users\super\AppData\Roaming\Typora\typora-user-images\image-20210324103322318.png)]

​ 第一个参数:expression,指表达式

​ 第二个参数:modules, 指需要导入的模块,默认值None

​ 第三个参数:namespace: 指命名作用空间,默认值None

​ 个人理解:就是直接跟python代码。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AZtSZ8WD-1619166759218)(C://Users//super//Documents//JD//office_dongdong//ext.zhangliuxin//Temp//JdOnline20210324122356.png)]

​ 使用关键字时,表达式参数需要加上引号,如上图。

evaluate可以处理简单的关系,当需要处理复杂的关系时,推荐通过自定义测试库和开发系统关键字。

1.3 类型转换

​ 类型转换可以将某个类型的变量值转化为指定类型的值

1.3.1 Convert To String:转换成字符串

所属库参数
builtinitem

示例:

${string}Convert To Stringhello world
Log${string}
1.3.2 Convert to integer:转换成整数,如果参数是字符串,则默认转换为二进制。
所属库参数
builtinitem,base(指定转换为什么进制,0b表示二进制,0o表示八进制,0x表示十六进制)=None

示例:

${int}Convert To integer50
Should be equal${int}${50}

首先先将50(此时是字符串‘50’)转化为整数,然后和数字50进行比较

1.3.3. Convert to number:转换成浮点数;如果可选参数是正数或0,返回四舍五入的值,如果可选参数是负数,则相当于修改小数点前precision位的值为0
所属库参数
builtinitem,precision=None

示例:

${float}Convert To number32.512
log${float}# 打印32.512
${float}Convert To number32.5121
log${float}# 打印32.5
${float}Convert To number32.5120
log${float}# 打印33.0
${float}Convert To number32.512-1
log${float}# 打印30,(如果为-2,则输出0)
1.3.4 Convert to boolean :转换成布尔值,如果参数是字符串true(不区分大小写),则返回true,false则返回false,其他情况调用python的bool方法判断。
所属库参数
builtinitem,precision=None

简单来说:关键字接受的参数如果为非空值,返回true,如果参数为空值,如: N U L L , {NULL}, NULL,{NONE},${EMPTY},则返回false。

1.3.5 encode string to bytes:字符编码;按照指定编码方式进行字符串编码。
所属库参数
stringstring,encoding,errors=strict

errors有三种取值:

  1. ​ strict:默认参数,当字符无法编码时返回失败。
  2. ignore:当字符不能编码时忽略。
  3. replace:当字符不能编码时,使用替换字符来代替
${string}set variable验证通过
${to_utf8}encode string to bytes${string}UTF-8
1.3.6 decode bytes to string(解码字节到字符串)同1.3.5,不重复介绍
1.4 变量操作
1.4.1 log variables:在输出日志打印所有变量(内置变量,自动变量等)
所属库参数
builtinlevel=INFO
${var}set variable本地变量
log variables
1.4.2 import variables:导出变量,通常应用在测试套件级别下。引用的路径必须为绝对路径。
所属库参数
builtinpath,*args

先要新建变量文件文件名为variable.py,文件内容如下

# coding=utf-8
url=‘http://www.yaosi.com’
str_list=['a','b','c']
import variable${CURDIR}/variable.py
log${url}
log many@{str_list}
1.4.3 set variable:设置变量主要用于设置标量变量($)表示,也可创建列表或多重标量变量
所属库参数
builtin*value
变量名set variable变量值
变量名1变量名2set variable变量值1变量值2

该关键字只在当前作用范围内有效。

1.4.4 set global variable:设置全局变量,和命令行使用–variable或者variablefile创建的变量作用类似。
所属库参数
builtinname,*values
set global variable${global_var}hello world

需要注意的点:1.如果是在测试用例创建的变量,要保证该测试用例优先执行;2.对于全局变量,在运行过程中的所有测试套件或测试用例都有效。

1.4.5 set suite variable:设置测试套件变量
所属库参数
builtinname,*values
set suite variable${suite_var}hello world
${id}set variable123456
set suite variable${id}

测试套件变量仅对该测试套件及该测试套件下的测试用例有效。

1.4.6 set test variable:设置测试用例变量
所属库参数
builtinname,*values
set test variable${test_var}hello

测试用例变量仅对该测试用例有效。

1.4.7 set variable if:当条件满足时设置变量 基于condition条件来设置变量,包括一个condition和两个value,使用should be true 来计算condition,如果为真返回第一个值,否则返回第二个,第二个可以省略,默认使用none。
所属库参数
builtincondition,*values
${RE}set variable${0}
${val1}set variable if${RE}==0zeronozero
${val1}set variable if${RE}>0value1value2
${val1}set variable if${RE<0whatever

结果为:zero,value2,None

1.4.8 get variables:获取所有变量 :获取包含当前作用域内所有变量的字典
所属库参数
builtin
${var}get variables
1.4.9 get variable value 获取变量值,不存在返回default
所属库参数
builtinname,default=None
1.4.10 get environment variables:获取当前环境所有环境变量的字典。
所属库参数
operatingSystem
1.4.11 get environment variable:获取环境变量值,不存在返回default。
所属库参数
operatingSystemname,default=None
1.4.12 set environment variable:设置环境变量,环境变量在测试执行前在操作系统中被设置。执行过程中一直可用;是全局的,测试结束后自动失效。
所属库参数
operatingSystemname,value

1.5 关键字操作

1.5.1 run keyword:运行关键字:根据参数args运行关键字name,name可以动态设定,例如:来自另一个关键字的返回值或命令行。
所属库参数
builtinname,*args
${time}run keywordget time
Log${time}
1.5.2 run keyword if 当条件满足时运行关键字。
所属库参数
builtincondition,name,*args
run keyword if‘${STATUS}’=‘PASS’SOME ACTION

${STATUS}的冒号不可以省略。

1.5.3 run keyword unless:当条件不满足时运行关键字,当condition参数为假时,运行关键字
所属库参数
builtincondition,name,*args
1.5.4 repeat keyword :重复运行某关键字:对指定关键字调用n次,N为整数或可以转换为整数的字符串,还可以在N后面加后缀times或x(不区分大小写,去除多余空格)
所属库参数
builtintimes,name,*args
repeat keyword5 times关键字
1.5.5 run keywords:依次运行多个关键字,常用于setup和teardown。
所属库参数
builtinname

当执行多个需要参数的关键字时,关键字使用AND连接(区分大小写),运行次序是依次运行。

1.5.6 run keyword and return:运行关键字并返回结果。
所属库参数
builtinname,*args
参数名(接收返回值信息)run keyword and return关键字
1.5.7 run keyword and return if:当条件满足时运行关键字并返回结果
所属库参数
builtincondition,name,*args
参数名(接收返回值信息)run keyword and return if条件关键字
1.5.8 run keyword and continue on failure:失败后运行执行关键字
所属库参数
builtinname,*args
run keyword and continue on failureFail关键字
1.5.9 run keyword and lgnore error:运行关键字并忽略错误,根据参数args运行关键字,并忽略错误,此关键字返回两个值,第一是pass或fail,第二个是返回值或者收到的错误信息。
所属库参数
builtinname,*args
1.5.10 run keyword if all tests passed:所有测试用例通过后运行关键字,如果所有用例通过后运行关键字,如果所有测试用例通过,则根据参数args运行关键字,只能用于suite teardown。
所属库参数
builtinname,*args
关键字运行关键字参数
1.5.11 run keyword if any tests failed:任一测试用例失败后运行关键字,只要有一条测试用例失败,运行关键字,只能用于suite teardown。
所属库参数
builtinname,*args
关键字运行关键字参数
1.5.12 run keyword if test passed:测试用例通过后运行关键字,如果当前测试用例通过,则根据参数args运行关键字,只能用于test teardown。
所属库参数
builtinname,*args
关键字运行关键字参数
1.5.13 run keyword if test failed:测试用例失败后运行关键字,如果当前测试用例失败,则根据参数args运行关键字,只能用于test teardown。
所属库参数
builtinname,*args
关键字运行关键字参数
1.5.14 run keyword if timeout occurred:测试用例超时运行关键字,如果当前测试用例超时,则根据参数args运行关键字,只能用于test teardown。
所属库参数
builtinname,*args
关键字运行关键字参数

1.6 条件和循环

1.6.1 continue for loop:用在for循环结构体中,用于跳出本层循环,继续下一次循环,相当于continue。
所属库参数
builtin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BPSZK51o-1619166759222)(C:\Users\super\AppData\Roaming\Typora\typora-user-images\image-20210406111122391.png)]

1.6.2 continue for loop if :当条件满足时继续下一次循环
所属库参数
builtincondition

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nsroQny5-1619166759226)(C:\Users\super\AppData\Roaming\Typora\typora-user-images\image-20210406111419211.png)]

1.6.3 exit for loop:在for结构体中,用于立即退出循环。
所属库参数
builtin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uOqViUzH-1619166759232)(C:\Users\super\AppData\Roaming\Typora\typora-user-images\image-20210406113057618.png)]

1.6.4 exit for loop if :当条件满足时跳出循环。
所属库参数
builtincondition

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W2xgO5qq-1619166759234)(C:\Users\super\AppData\Roaming\Typora\typora-user-images\image-20210406113225271.png)]

1.7 断言操作
1.7.1 should (not) be empty :断言是否为空,如果断言不符合预期,则断言失败
所属库参数
builtinitme|msg=None

判断 item是否为空,实际上通过调用get length关键字获取对应元素的长度是否为0,为0则为空,否则不为空。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F1w5rg3c-1619166759237)(C:\Users\super\AppData\Roaming\Typora\typora-user-images\image-20210406143453398.png)]

1.7.2 should (not) be equal:断言是否相等。如果不相等,则断言失败.
所属库参数
builtinfirst|second|msg=None|values=Ture|ignore_case=False

如果此关键字失败,则构造错误消息方法:

  1. 如果没有给出msg,则错误消息为!=.
  2. 如果给出msg并且values得到一个真值,则错误消息是:!=.
  3. 如果给出msg并且values得到一个假值,则错误消息是

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ycgDYURB-1619166759238)(C:\Users\super\AppData\Roaming\Typora\typora-user-images\image-20210406144817327.png)]

1.7.3 should (not)be equal as strings:断言作为字符串是否相等,即变量转换为字符串后再进行比较.使用方法同1.7.2
所属库参数
builtinfirst|second|msg=None|values=Ture|ignore_case=False
1.7.4 should (not) be equal as integers:断言作为整数是否相等,即变量转换为整数再进行比较.使用方法同上。
1.7.5 should (not) be true :断言是否为真
所属库参数
builtincondition,msg=None

如果condition是一个字符串则使用python的内置函数eval来处理表达式。

1.7.6 should (not) contain:断言是否包含某元素:
所属库参数
builtincontainer|item|msg=None|values=Ture|ignore_case=False

适用于所有字符串,列表,和任何支持python的in表达式运算符对象。

1.7.7 should (not) contain any:断言是否包含任一元素
所属库参数
builtincontainer|*items|**configuration

1.7.8 should contain x times:断言某元素是否被包含指定次数.

所属库参数
builtinitem1|item2|count|msg=none|ignire_case=False

适用于字符串,列表等支持get count关键字的对象,msg会覆盖默认的错误信息,实际次数会记录在日志里。

1.7.9 should(not) start with:断言是否以某某开头。断言str1是否以str2 开头,是则断言成功.
所属库参数
builtinstr1,str2|msg=none|values=True|ignore_case=False
1.7.10 should (not) end with:断言是否以某某结尾。断言str1是否以str2结尾
所属库参数
builtinstr1,str2|msg=none|values=True|ignore_case=False
1.7.11should (not) match regexp:断言是否匹配正则表达式,断言字符串string是否匹配指定的正则表达式。
所属库参数
builtinstring|pattern|msg=None|values=True

使用regexp需要注意

  1. 反斜杠是转义字符,使用反斜杠需要双重转义即\\(表示第一个反斜杠转义了第二个反斜杠)。、
  2. 需要转义的特殊字符可以使用regexp ESCAPE关键字
  3. pattern不会匹配整个字符串,例如模式‘ello’会匹配字符串’hello world‘,如果要完整匹配,’^‘匹配开头,“$”匹配结尾。
  4. 如果关键字成功,则他返回字符串匹配模式的一部分,还可以返回元组。
1.7.12 length should be :断言长度是否相等,断言给定的item元素长度和length是否相等
所属库参数
builtinitem|length|msg=None

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-duKWRd6U-1619166759240)(C://Users//super//Documents//JD//office_dongdong//ext.zhangliuxin//Temp//JdOnline20210408110341.png)]

1.7.13 keyword should exist:断言关键字是否存在
所属库参数
builtinname|msg=None
keyword should exist${关键字}
keyword should exist${模块名.关键字}

当存在多个同名关键字时,可以使用模块名.关键字断言

1.7.14 list should (not) contain value:断言列表是否包含某值
所属库参数
Collectionslist|value|msg=None
list should contain value${LIST}name
1.7.15 lists should be equal:断言两个列表是否相等,首先验证列表长度是否相等,然后检查它们的值是否相等
所属库参数
Collectionslist1|list2|msg=None|values=True|names=None
lists should be equal${LIST1}${LIST2}
1.7.16 list should not contain duplicates:断言列表不包含重复项,包含则断言失败,否则断言成功。
所属库参数
Collectionslist|msg=None
list should not contain duplicates${LIST}
1.7.17 dictionary should contain item:断言字典是否包含指定键值对
所属库参数
Collectionsdictionary|key|value|msg=None
dictionary should contain item${DICT}keyvalue
1.7.18 dictionary should (not)contain key: 断言字典是否包含指定的key值
所属库参数
Collectionsdictionary|key|msg=None
dictionary should (not)contain key${DICT}key
1.7.19 dictionary should (not)contain value: 断言字典是否包含指定的value值
所属库参数
Collectionsdictionary|value|msg=None
dictionary should (not)contain value${DICT}value
1.7.20 dictonaries should be equal:断言给定的字典是否相等,先检查字典键的相等性,再检查所有键值对的相等性,如果存在差异,则断言失败.
所属库参数
Collectionsdict1|dict2|msg=None|values=True
dictonaries should be equal${DICT1}${DICT2}
1.8 集合操作
1.8.1 create list :创建列表,并返回
所属库参数
Builtin*items
@{list}create lista
1.8.2 log list:打印输入列表中的值。
所属库参数
Collectionslist_|level=INFO
@{list}create lista
log list${list}level=INFO
1.8.3 append to list:添加列表到元素:向列表中添加元素,新添加的元素会自动加到列表末尾。
所属库参数
Collectionslist_|*values
@{list}create lista
append to list${list}
1.8.4 insert into list:插入元素到列表,向列表中指定的位置(index)插入新的元素(value)
所属库参数
Collectionslist_|index|value
@{list}create listab
insert into list${list}0${1}
1.8.5 copy list:复制列表,复制并返回一个新列表.
所属库参数
Collectionslist_
${list}create listab
@{new_list}copy list${list}
1.8.6 get from list:从列表中取值,从列表中按指定索引位置取值。
所属库参数
Collectionslist_|index
@{list}create listab
${x}get from list${list}
1.8.7 get index from list:获取列表值对应的索引位置,找不到返回-1
所属库参数
Collectionslist_|value|start=0|end=None
@{list}create listab
${a_index}get index from list${list}a
1.8.8 reverse list :反转列表:对给定列表各元素值顺序进行反转,在原有列表中直接修改。
所属库参数
Collectionslist_
@{list}create listab
reverse list${list}
1.8.9 set list value:设置列表值,向列表中指定位置设置值,会替换原有列表位置中的值。
所属库参数
Collectionslist_|index|value
@{list}create lista
set list value${list}0bb
1.8.10 sort list:排序列表,对列表中的值进行排序,字符串按字母顺序排序,数字按照数值进行排序,该关键字修改原列表,且字符串不能和数字进行比较
所属库参数
Collectionslist_
@{list}create lista
sort list@{list}
1.8.11 remove from list:移除列表指定位置的元素,并返回对应的值
所属库参数
Collectionslist_|index
@{list}create lista
${delete}remove from list${list}0
1.8.12 remove values from list:从列表中移除给定的所有值,给出不存在的值不会报错。
所属库参数
Collectionslist_|*values
@{list}createa
remove values from list${list}a
1.8.13 remove duplicates:从列表中移除重复项,并返回没有重复值的结果。
所属库参数
Collectionslist_
@{list}create listab
remove duplicates${list}a
1.8.14 create dictionary:创建字典
所属库参数
builtin*items
&{dict}create dictionaryname=mikeage=19
1.8.15 log dictionary:打印字典
所属库参数
Collectionsdict|level=info
&{dict}create dictionaryname=mikeage=19
log dictionary${dict}
1.8.16 set to dictionary:添加元素到字典
所属库参数
Collectionsdict|*key_value_pairs|**items
&{dict}create dictionaryname=mikeage=19
set to dictionary${dict}sexman
1.8.17 copy dictionary:复制字典并返回
所属库参数
Collectionsdict
&{dict}create dictionaryname=mikeage=19
&{new_dict}copy dictionary${dict}
1.8.18 get dictionary items:获取字典中的所有元素并以列表的形式返回
所属库参数
Collectionsdict
&{dict}create dictionaryname=mikeage=19
${itmes}get dictionary itmes${dict}

取出的值为:[‘name’,‘mike’,‘age’,‘18’]

1.8.19 get dictionary keys:获取字典中所有key值,并以列表形式返回
所属库参数
Collectionsdict
&{dict}create dictionaryname=mikeage=19
${new_list}get dictionary keys${dict}
1.8.20 get dictionary values:获取字典中所有value值,并以列表形式返回
所属库参数
Collectionsdict
&{dict}create dictionaryname=mikeage=19
${values}get dictionary values${dict}
1.8.21 get from dictionary :获取字典中指定的key的值。
所属库参数
Collectionsdict|key
&{dict}create dictionaryname=mikeage=19
${age}get from dictionary${dict}age
1.8.22 pop from dictionary:删除并返回字典中指定的key值
所属库参数
Collectionsdict|key|default(当列表中不存在该值时,使用default值)=
&{dict}create dictionaryname=mikeage=19
${age}pop from dictionary${dict}agedefault=18
1.8.23 remove from dictionary:删除字典中指定的key值
所属库参数
Collectionsdict|*key
&{dict}create dictionaryname=mikeage=19
remove from dictionary${dict}nameage
1.9 常用关键字
1.9.1 log 打印输出,按照指定日志级别打印输入message内容。
所属库参数
builtinmsg|level=info|html=false|console(是否输出到控制台)=false|repr(按照unicode编码原样显示)=False

其中level有五个级别:trace,debug,info(默认),html,warn,error,其中warn和error记录的消息可在控制台和日志报告中的错误提示栏看到,

loghello worldconsole=True
1.9.2 log many :按照默认的info日志级别输出一个或多个msg内容,常用于打印列表或字典中各元素的值
所属库参数
builtin*msg
log many@{list}&{dict}
log manyhelloworld

注意:字典和列表应该使用各自的标识:字典&。列表@

1.9.3 log to console:打印到控制台
所属库参数
builtinmsg|stream(标准流)=STDOUT|no_newline(不换行)=false
log to consolehello
1.9.4 sleep:延时等待,按照给定的时间延时等待一段时间后执行,时间可以是数字或者时间字符串

格式1:1 day 2 hours 3 minutes 4 seconds 5 milliseconds

格式2 :1d 2h 3m 4s 5ms

所属库参数
builtintime|reason(说明)=None
1.9.5 comment:对参数添加注释,不进行任何处理,且会显示在日志中。
所属库参数
builtin*msg
comment增加注释
commentsleep10
1.9.6 call method:调用方法,使用参数args调用对象object的方法method_name
所属库参数
builtinobject|method_name|*args|**kwargs
call method${hashtable}putvalue1value2
${value}=call method${hashtable}getvalue1

1.通过关键字调用hashtable对象的put方法,向里面加入新值value1,value2

2.调用hashtable对象的get方法,取出value1

1.9.7 get count:获取数量,返回并在日志中记录item2在item1中出现的次数
所属库参数
builtinitem1|item2
${count}get count${some}sub
1.9.8 get length:获取长度,返回并在日志中记录item的长度
所属库参数
builtinitem

item可以是任何有长度的对象,如字符串,列表,集合,

${length}=get lengthhello world
1.9.9 get time:获取时间,根据指定格式获取时间,不区分大小写
所属库参数
builtinformat=timestamp|time=now

1.如果格式中包含epoch,返回的是从(Jan 1,1970,0:00:00)开始计算的秒数

  1. 如果格式中包含year,month,day,hour,min或sec,则返回对应部分。

  2. 默认格式为2021-04-13 12:07:34

  3. 有效的时间戳,比如YYYY-MM-DD hh:mm:ss和YYYYMMDD hhmmss.

  4. now:不区分大小写,为当前时间,

  5. now -1 day 或now+ 1 hour 30 min 等会计算时间

    ${time}=get time
1.9.10 pass execution:标记测试用例成功,跳过当前测试用例未执行的部分,直接标记测试用例结果为pass
所属库参数
builtinmsg|*tags
pass execution
log此条语句不会执行
1.9.11 pass execution if:当条件满足时标记测试用例执行成功,跳过当前测试用例未执行的部分。
所属库参数
builtincondition|msg|*tags
FOR${var}in@{values}
pass execution if‘${var}’==‘a’
loghello

当var的取值时a时,会跳过打印hello,否则打印hello

1.9.12 fail:标记当前测试用例失败:停止当前测试用例执行,并标记测试用例失败.
所属库参数
builtinmsg=None|*tags
failtest not ready
1.9.13 fatal error:停止当前所有待执行用例,并标记其状态为失败。
所属库参数
builtinmsg=None
1.9.14 import library:导入测试库,一般可在测试套件中进行导入,也可在测试执行中通过调用关键字来导入,支持以库名或绝对路径的形式导入
所属库参数
builtinname *args

可以使用WITH NAME来更改库名,用于增加别名。

import librarymylibray
import librarymylibrayWITH NAMEmylib

导入成功显示黑色,失败显示红色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值