ftlk 发表于 2015-12-15 08:44:17

python 自动化测试平台 Robot Framework 内置库 翻译

参考资料:

Normal07.8 pt02falsefalsefalseEN-USZH-CNX-NONE/* Style Definitions */table.MsoNormalTable{mso-style-name:"Table Normal";mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-priority:99;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.5pt;mso-bidi-font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman";mso-bidi-theme-font:minor-bidi;mso-font-kerning:1.0pt;}BuiltIn版本:2.6.3
范围:global
命名参数:支持
介绍
BuiltIn是Robot Framework标准库,提供了常用关键字。它自动导入,从而始终可用。提供的关键字有用于验证的(e.g. Should BeEqual, ShouldContain),转换的(e.g. Convert ToInteger),其他(e.g. Log,Sleep,Run KeywordIf, Set GlobalVariable)。
所有关键字如下:
Call Method ·Catenate ·Comment ·Convert To Binary ·Convert To Boolean ·Convert To Hex ·Convert To Integer ·Convert To Number ·Convert To Octal ·Convert To String ·Create List ·Evaluate ·Exit For Loop ·Fail ·Fatal Error ·Get Count ·Get Length ·Get Library Instance ·Get Time ·Get Variable Value ·Get Variables ·Import Library ·Import Resource ·Import Variables ·Keyword Should Exist ·Length Should Be ·Log·Log Many ·Log Variables ·No Operation·Regexp Escape ·Remove Tags ·Repeat Keyword ·Replace Variables ·Run Keyword ·Run Keyword And Continue On Failure ·Run Keyword And Expect Error ·Run Keyword And Ignore Error ·Run Keyword If ·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 ·Run Keyword Unless ·Run Keywords ·Set Global Variable ·Set Library Search Order ·Set Log Level ·Set Suite Variable ·Set Tags ·Set Test Message ·Set Test Variable ·Set Variable ·Set Variable If ·Should Be Empty ·Should Be Equal· Should Be Equal As Integers ·Should Be Equal As Numbers ·Should Be Equal As Strings ·Should Be True ·Should Contain ·Should Contain X Times ·Should End With ·Should Match ·Should Match Regexp ·Should Not Be Empty ·Should Not Be Equal ·Should Not Be Equal As Integers ·Should Not Be Equal As Numbers ·Should Not Be Equal As Strings ·Should Not Be True ·Should Not Contain ·Should Not End With ·Should Not Match ·Should Not Match Regexp ·Should Not Start With ·Should Start With ·Sleep·Variable Should Exist ·Variable Should Not Exist ·Wait Until Keyword Succeeds
关键字介绍
关键字
参数
文档
Call Method
object, method_name, *args
使用参数args调用对象object的方法method_name。
方法可能返回值可以赋值给一个变​​量。
当找不到方法或者方法产生异常时,Keyword会失败。

例子:
Call Method
${hashtable}
put
myname
myvalue
${isempty} =
Call Method
${hashtable}
isEmpty

Should Not Be True
${isempty}



${value} =
Call Method
${hashtable}
get
myname
Should Be Equal
${value}
myvalue


Catenate
Catenate
连接给定参数,返回字符串。
默认用空格连接参数项目,如果第一个参数为'SEPARATOR=',则使用”sep”来连接.

例子:
${str1} =
Catenate
Hello
world

${str2} =
Catenate
SEPARATOR=---
Hello
world
${str3} =
Catenate
SEPARATOR=
Hello
world
实际结果:
=>
- ${str1} = 'Hello world'
- ${str2} = 'Hello---world'
- ${str3} = 'Helloworld'
Comment
*messages
在日志文件中以关键字参数形式显示指定信息。
Comment对参数不进行任何处理,仅仅是显示在日志中,用于显示简单信息。
如果要显示变量值,可以使用Log或 Log Many关键字。
Convert To Binary
item, base=None, prefix=None, length=None
转换参数为二进制字符串。
如果添加了base参数,则先内部使用ConvertTo Integer转换为整数,然后再转换为二进制数字,以字符串的形式显示,比如”1011“。
返回值可以包含可选的前缀和最小长度(不包含前缀和负号等)。如果返回值比要求的长度短,则使用0填充。

例子:
${result} =
Convert To Binary
10


# Result is 1010
${result} =
Convert To Binary
F
base=16
prefix=0b
# Result is 0b1111
${result} =
Convert To Binary
-2
prefix=B
length=4
# Result is -B0010
Convert To Boolean
item
转换参数为布尔值true或false。
如果参数是字符串'True'(不区分大小写)就返回真,为'False'就返回假;其他情况调用Python的'bool'的方法来判断。请参阅http://docs.python.org/lib/truth.html。
Convert To Hex
item, base=None, prefix=None, length=None, lowercase=False
转换参数为十六进制字符串。
如果添加了base参数,则先内部使用Convert ToInteger转换为整数,然后再转换为十六进制数字,以字符串的形式显示,比如'FF0A'。
返回值可以包含可选的前缀和最小长度(不包含前缀和负号等)。如果返回值比要求的长度短,则使用0填充。
默认返回大写字符串,lowercase参数会转换值为小写(不包含前缀)。

例子:
${result} =
Convert To Hex
255


# Result is FF
${result} =
Convert To Hex
-10
prefix=0x
length=2
# Result is -0x0A
${result} =
Convert To Hex
255
prefix=X
lowercase=yes
# Result is Xff
Convert To Integer
item, base=None
转换参数为整数。
如果参数是字符串,则默认转为十进制整数。使用其他进制可以用base指定或者添加前缀,比如0b表示2进制,0o表示8进制,0x表示16进制。前缀只有当无base参数才可以添加,前缀的前面还可以添加加减等符号。
语法不区分大小写并忽略空格

例子:
${result} =
Convert To Integer
100

# Result is 100
${result} =
Convert To Integer
FF AA
16
# Result is 65450
${result} =
Convert To Integer
100
8
# Result is 64
${result} =
Convert To Integer
-100
2
# Result is -4
${result} =
Convert To Integer
0b100

# Result is 4
${result} =
Convert To Integer
-0x100

# Result is -256

Convert To Number
item, precision=None
转换参数为浮点数。
如果可选参数precision是正数或零,返回的四舍五入的值。负数则相当于修改-precision位数为0
如果可选参数precision是负数,返回的四舍五入的值。

例子:
${result} =
Convert To Number
42.512

# Result is 42.512
${result} =
Convert To Number
42.512
1
# Result is 42.5
${result} =
Convert To Number
42.512
0
# Result is 43.0
${result} =
Convert To Number
42.512
-1
# Result is 40.0
注意机器一般不能准确地存储浮点数。参见http://docs.python.org/tutorial/floatingpoint.html。
Convert To Octal
item, base=None, prefix=None, length=None
转换参数为八进制字符串。
如果添加了base参数,则先内部使用Convert ToInteger转换为整数,然后再转换为八进制数字,以字符串的形式显示,比如'775''。
返回值可以包含可选的前缀和最小长度(不包含前缀和负号等)。如果返回值比要求的长度短,则使用0填充。
默认返回大写字符串,lowercase参数会转换值为小写(不包含前缀)。

例子:
${result} =
Convert To Octal
10


# Result is 12
${result} =
Convert To Octal
-F
base=16
prefix=0
# Result is -017
${result} =
Convert To Octal
16
prefix=oct
length=4
# Result is oct0020

Convert To String
item
转换参数为Unicode字符串。
针对Python对象使用“__unicode__'或'__str__’方法。
Create List
*items *项目
根据指定参数创建列表。
返回的列表都用来给$ {标量}和@{列表}变量赋值。

例子:
@{list} =
Create List
a
b
c
${scalar} =
Create List
a
b
c
${ints} =
Create List
${1}
${2}
${3}
Evaluate
expression, modules=None
用Python计算表达式并返回结果。
modules参数可用于导入一些逗号分隔模块列表到表达式计算的名字空间。

的进口和计算表达式的命名空间添加到Python模块列表。
modules argument can be used to specify a comma separated list ofPython modules to be imported and added to the namespace of the evaluatedexpression .评估在Python表达式,并返回结果。模块参数可用于指定一个逗号分隔的进口和计算表达式的命名空间添加到Python模块列表。

例子: (假定 ${result} 为 3.14):
:
${status} =
Evaluate
0 < ${result} < 10

${down} =
Evaluate
int(${result})

${up} =
Evaluate
math.ceil(${result})
math
${random} =
Evaluate
random.randint(0, sys.maxint)
random,sys
=>
- ${status} = True
- ${down} = 3
- ${up} = 4.0
- ${random} =

注意:如果表达式很复杂,建议在测试库中实现逻辑。
Exit For Loop

立即停止执行for循环。
例子:
:FOR
${var}
IN
@{SOME LIST}

Run Keyword If
'${var}' == 'EXIT'
Exit For Loop

Do Something
${var}

Fail
msg=None
停止执行当前测试用例,
Fatal Error
msg=None
停止执行整个测试。后续用例不会执行,可能的teardown也不会执行。
Get Count
item1, item2
返回并在日志中记录item2在Item1中出现的次数。
此关键字适用于Python字符串和列表和所有具有'count'方法和以及可转换为Python列表的对象。

例子:
${count} =
Get Count
${some item}
interesting value
Should Be True
5 < ${count} < 10


Get Length
item
返回并在日志中记录item的长度。
item可以是任何有一个长度的对象,例如,字符串,列表,或映射。
关键字首先试图用Python函数len函数(内部调用item的__len__方法)得到的长度。如果失败,关键字尝试直接调用item's的可能的length和size的方法。最后试图获得该项目的length属性值。如果所有这些尝试不成功的,关键字Fail。
可以使用列表,但是要作为标量来使用,比如(e.g. ${LIST})。
Get Library Instance
name
返回指定测试库的当前活动实例。
该关键字可以是测试库和其他有状态的测试库进行交互。比如:
from robot.libraries.BuiltIn import BuiltIn

def title_should_start_with(expected):
    seleniumlib =BuiltIn().get_library_instance('SeleniumLibrary')
    title =seleniumlib.get_title()
    if nottitle.startswith(expected):
      raiseAssertionError("Title '%s' did not start with '%s'"
                           % (title, expected))

它也可以使用这个关键字,在测试数据,并返回库实例传递到另一个关键字。If a library is imported with a custom name, the name usedto get the instance must be that name and not the original library name.如果一个库导入一个自定义名称,名称中使用的实例必须是这个名字,而不是原来的库名称。
Get Time
format=timestamp, time=NOW
根据指定格式获取时间。
不区分大小写。
1)      如果格式中包含epoch,返回的是(Jan 1, 1970 0:00:00)开始的秒数。
2)      如果格式包含任何'year','month', 'day', 'hour', 'min', or 'sec',则返回对应部分。
3)      默认格式'2006-02-2415:08:31'
默认返回当前时间。
1)      如果是浮点数,解释为自epoch以来的秒数
2)      有效的时间戳,比如:'YYYY-MM-DDhh:mm:ss' and 'YYYYMMDD hhmmss'
3)      'NOW',不区分大小写,为当前时间
4)      'NOW - 1 day' 或 'NOW + 1 hour 30 min' 等则会计算时间
例子:假定当前时间是2006-03-29 15:06:21
${time} =
Get Time



${secs} =
Get Time
epoch


${year} =
Get Time
return year


${yyyy}
${mm}
${dd} =
Get Time
year,month,day
@{time} =
Get Time
year month day hour min sec


${y}
${s} =
Get Time
seconds and year

=>
- ${time} = '2006-03-29 15:06:21'
- ${secs} = 1143637581
- ${year} = '2006'
- ${yyyy} = '2006', ${mm} = '03', ${dd} = '29'
- @{time} = ['2006', '03', '29', '15', '06', '21']
- ${y} = '2006' - ${s} = '21'


${time} =
Get Time

1177654467

${secs} =
Get Time
sec
2007-04-27 09:14:27

${year} =
Get Time
year
NOW
# The time of execution
${day} =
Get Time
day
NOW - 1d
# 1 day subtraced from NOW
@{time} =
Get Time
hour min sec
NOW + 1h 2min 3s
# 1h 2min 3s added to NOW
=>
=>
- ${time} = '2007-04-27 09:14:27'
- ${secs} = 27
- ${year} = '2006'
- ${day} = '28'
- @{time} = ['16', '08','24']
Get Variable Value
name, default=None
返回变量值,如果变量不存在就返回default。
变量名可以是常规的变量名比如(eg ${NAME} )或者转义格式\${NAME}。注意,前者有一定的局限性, 见Set SuiteVariable关键字中的解释。
例子:
${x} =
Get Variable Value
${a}
default
${y} =
Get Variable Value
${a}
${b}
${z} =
Get Variable Value
${z}


Get Variables

返回包含在当前范围内的所有变量的字典。
Import Library
name, *args
在test suite导入库。
可以在测试执行时动态导入库。支持库名和绝对路径导入。使用'WITH NAME'还可以更改库名。
例子:
Import Library
MyLibrary



Import Library
${CURDIR}/Library.py
some
args

Import Library
${CURDIR}/../libs/Lib.java
arg
WITH NAME
JavaLib
Import Resource
path
在test suite导入资源文件。
path必须是绝对路径。斜线作为路径分隔符(包含Windows)。

例子:
Import Resource
${CURDIR}/resource.txt
Import Resource
${CURDIR}/../resources/resource.html
Import Variables
path, *args
在test suite导入变量文件。
path必须是绝对路径。斜线作为路径分隔符(包含Windows)。

例子:
Import Variables
${CURDIR}/variables.py


Import Variables
${CURDIR}/../vars/env.py
arg1
arg2
Keyword Should Exist
name, msg=None
Fail除非关键字在当前作用域存在。
有多个同名的关键字存在也会Fail。
Length Should Be
item, length, msg=None
验证item的长度。
通过关键字Get Length获取item的长度。
Log
message, level=INFO
在指定日志级别下记录message。
有效的日志级别有TRACE, DEBUG, INFO (default), HTML and WARN。HTML可以写不转义的HTML代码。例如http://blog.iyunv.com/image.png在HTML日志级别将创建一个图像,但其他级别仅仅是显示字符串。注意,无效的HTML会破坏整个日志文件,一定要谨慎使用。HTML消息实际上是使用了INFO级别。
WARN级别记录的消息将在控制台和日志中测试执行的错误部分都可以看到。
Log Many
*messages
在INFO级别下记录messages为独立的条目。
Log Variables
level=INFO
在日志中记录当前所有变量。
No Operation

无操作,不做任何事情。
Regexp Escape
*patterns
对字符串中的非字母数字进行转义。
这个关键字可以用来转义关键字ShouldMatch Regexp和Should NotMatch Regexp使用的字符串。
转义使用python中的re.escape()函数。

例子:
${escaped} =
Regexp Escape
${original}
@{strings} =
Regexp Escape
@{strings}
Remove Tags
*tags
从当前测试用例或suite中删除标签 。
Tag可以使用模式,'*'匹配所有字符,“?”单个字符。
例子:
Remove Tags
mytag
something-*
?ython
Repeat Keyword
times, name, *args
执行指定的关键字times次。
Times为整数或可以转换为整数的字符串。为了提高可读性,还可以在'times'后添加后缀'times' or 'x'(不区分大小写,去掉多余空格)。
例子:
Repeat Keyword
5 times
Goto Previous Page


Repeat Keyword
${var}
Some Keyword
arg1
arg2
Replace Variables
text
替换text中的变量。
如果文本中没有包含变量,关键字Fail。
例子:假定文件“template.txt”的内容为“Hello $ {NAME}!”,变量的'${NAME}'的值为'Robot'。
${template} =
Get File
${CURDIR}/template.txt
${message} =
Replace Variables
${template}
Should Be Equal
${message}
Hello Robot!
如果text只有一个变量,返回值为原来的对象。否则返回字符串。
Run Keyword
name, *args
根据参数args执行关键字name。
name可以动态设定,例如,来自另一个关键字的返回值或命令行。
Run KeywordAnd Continue On Failure
name, *args
根据参数args执行关键字name,错误时依旧继续执行。

例如:
Run Keyword And Continue On Failure
Fail
This is a stupid example
Log
This keyword is executed


Run Keyword AndExpect Error
expected_error, name, *args
根据参数args执行关键字name,预期捕获到错误:expected_error。
预期的错误必须和Robot Framework报告中的相同。它可以是一个模式,'*'匹配所有字符,“?”匹配单个字符。捕获到预期错误,返回错误消息,否则关键字Fail。

例子:
Run Keyword And Expect Error
My error
Some Keyword
arg1
arg2
${msg} =
Run Keyword And Expect Error
*
My KW

Should Start With
${msg}
Once upon a time in


Run Keyword AndIgnore Error
name, *args
根据参数args执行关键字,并忽略错误。
此关键字返回两个值,第一个是是“PASS”或'FAIL',第二个值是返回值或者或收到的错误消息。
Run Keyword If
condition, name, *args
如果condition为真,根据参数args执行关键字。
例子:a simple if/else construct:
${status}
${value} =
Run Keyword And Ignore Error
My Keyword
Run Keyword If
'${status}' == 'PASS'
Some Action

Run Keyword Unless
'${status}' == 'PASS'
Another Action

RunKeyword If All Critical Tests Passed
name, *args
如果所有Critical测试用例通过,则根据参数args执行关键字。
只能用于suite teardown。
Run Keyword IfAll Tests Passed
name, *args
如果所有测试用例通过,则根据参数args执行关键字。
只能用于suite teardown。
RunKeyword If Any Critical Tests Failed
name, *args
如果有Critical测试用例Fail,则根据参数args执行关键字。
只能用于suite teardown。
Run Keyword IfAny Tests Failed
name, *args
如果有测试用例Fail,则根据参数args执行关键字。
只能用于suite teardown。
Run Keyword If TestFailed
name, *args
如果测试用例Fail,则根据参数args执行关键字。
只能用于test teardown。
Run Keyword If TestPassed
name, *args
如果测试用例Pass,则根据参数args执行关键字。
只能用于test teardown。
Run Keyword IfTimeout Occurred
name, *args
如果测试用例超时,则根据参数args执行关键字。
只能用于test teardown。
Run Keyword Unless
condition, name, *args
如果condition为假,根据参数args执行关键字。
Run Keywords
*names
无参数地执行所有关键字。
主要用于setups 和 teardowns中,不想创建更高级别的关键字但是有很多很多动作要进行。

例子:
Setting
Value
Value
Value
Suite Setup
Run Keywords
Initialize database
Start servers
Set Global Variable
name, *values
设置全局变量。
和命令行使用'--variable' or '--variablefile'创建的效果一样。
Set Library Search Order
*libraries
设置库查找顺序。
使用关键字的时候可以不使用库名,比如Keyword 和MyLibrary.Keyword效果一样,清晰起见,还是建议带上库名。
注:文件中的关键字比库中的有更高的优先级。所有名字不区分大小写,会忽略多余的空格。
Set Log Level
level
设置log级别并返回就的log级别。
默认级别是INFO.可用的log级别有:TRACE, DEBUG, INFO (default), WARN and NONE (no logging),对应的信息由多到少。
Set Suite Variable
name, *values
设置suite变量。
效果和使用变量表或者从变量文件中导入一致。其他的suite,包含子suite将看不到这个变量。变量名可以是
常规的变量名比如(eg ${NAME} )或者转义格式\${NAME} 或$NAME。

例子:
Set Suite Variable
${GREET}
Hello, world!
${ID} =
Get ID

Set Suite Variable
${ID}

注意如果变量的值中包含变量,必须使用转义的方式设置变量
  例子:
  ${NAME} =
  Set Variable
  \${var}

  Set Suite Variable
  ${NAME}
  value
  # Sets variable ${var}
  Set Suite Variable
  \${NAME}
  value
  # Sets variable ${NAME}
Set Tags
*tags
在测试用例或者suite中设置标签。
Teardown中不能使用该关键字。
Set Test Message
message
为当前测试用例设置消息。
message可能被错误消息覆盖,除非在测试用例teardown中使用。在测试用例teardown中,message甚至会覆盖错误消息。
本关键字不能在suite setup和 suite teardown中使用。
Set Test Variable
name, *values
设置当前测试用例变量。
Set Variable
*values
设置变量。
这个关键字主要用于设置标量变量。此外,它可用于转换包含列表的标量变量为列表变量或者多重标量变量,列表中的变量或多个标量变量。创建新列表时建议使用‘Create List'。
例子:

${hi} =
Set Variable
Hello, world!


${hi2} =
Set Variable
I said: ${hi}


${var1}
${var2} =
Set Variable
Hello
world
@{list} =
Set Variable
${list with some items}


${item1}
${item2} =
Set Variable
${list with 2 items}

本关键字创建的变量仅仅在当前范围有效。
Set Variable If
condition, *values
基于condition设置变量。
基本的用法是一个condition和2个value。使用ShouldBe True来计算condition,如果condition为真,则返回第一个值,否则返回第二个值。第二个值也可以省略,会采用默认值None。

例子:假设${rc}是0
${var1} =
Set Variable If
${rc} == 0
zero
nonzero
${var2} =
Set Variable If
${rc} > 0
value1
value2
${var3} =
Set Variable If
${rc} > 0
whatever

=>
- ${var1} = 'zero'
- ${var2} = 'value2'
- ${var3} = None

多个Set Variable If关键字可以嵌套,效果类似于'ElseIf'。
例子
${var} =
Set Variable If
${rc} == 0
zero
... ...
${rc} > 0
greater than zero
less then zero




${var} =
Set Variable If


... ...
${rc} == 0
zero

... ...
${rc} == 1
one

... ...
${rc} == 2
two

... ...
${rc} > 2
greater than two

... ...
${rc} < 0
less than zero

Should Be Empty
item, msg=None
验证给定的项目为空。
Item的长度通过Get Length关键字获取。
Should Be Equal
first, second, msg=None, values=True
Fail除非对象相等。
Should Be Equal AsIntegers
first, second, msg=None, values=True, base=None
Fail除非转换为整数后相等。
例子:
Should Be Equal As Integers
42 42
${42}
Error message
Should Be Equal As Integers
ABCD
abcd ABCD
base=16
Should Be Equal As Integers
0b1011
11 11

Should Be Equal AsNumbers
first, second, msg=None, values=True, precision=6
Fail除非转换为实数后相等。
采用Convert ToNumber关键字使用指定的精度进行转换。

例子:
Should Be Equal As Numbers
${x}
1.1 1.1

# Passes if ${x} is 1.1
Should Be Equal As Numbers
1.123
1.1 1.1
precision=1
# Passes
Should Be Equal As Numbers
1.123
1.4 1.4
precision=0
# Passes
Should Be Equal As Numbers
112.3
75 75
precision=-2
# Passes
参考:http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
Should Be Equal AsStrings
first, second, msg=None, values=True
Fail除非转换为字符串后相等。
Should Be True
condition, msg=None
Fail除非condition为true。
如果condition是一个字符串(如“$ {RC}
- ${ret} = 'Foo: 42'
- ${match} = 'Bar: 43'
- ${group1} = 'Bar'
- ${group2} = '43'
Should Not Be Empty
item, msg=None
验证给定的项目非空。
使用Get Length来获取item的长度。Msg会覆盖默认的错误消息。
Should Not Be Equal
first, second, msg=None, values=True
Fail如果对象相等。
Should Not BeEqual As Integers
first, second, msg=None, values=True, base=None
Fail如果转换为整数后相等。
Should Not BeEqual As Numbers
first, second, msg=None, values=True, precision=6
Fail如果转换为实数后相等。
采用Convert ToNumber关键字使用指定的精度进行转换。
Should Not BeEqual As Strings
first, second, msg=None, values=True
Fail如果转换为字符串后相等。
Should Not Be True
condition, msg=None
Fail如果condition为true。
Should Not Contain
item1, item2, msg=None, values=True
Fail如果item1中包含item2。
支持Python有in操作的字符串,列表等。

例子:
Should Not Contain
${output}
FAILED
Should Not Contain
${some_list}
value
Should Not End With
str1, str2, msg=None, values=True
Fail如果字符串str1以字符串str2结尾。
Should Not Match
string, pattern, msg=None, values=True
Fail如果string匹配模式pattern。
模式匹配是和shell中的文件匹配类似,它区分大小写,'*'匹配所有字符,“?”单个字符。
Should Not Match Regexp
string, pattern, msg=None, values=True
Fail如果string匹配正则表达式pattern。
Should Not Start With
str1, str2, msg=None, values=True
Fail如果字符串str1以字符串str2开头。
Should Start With
str1, str2, msg=None, values=True
Fail如果字符串str1不以字符串str2开头。
Sleep
time, reason=None
暂停指定时间
时间可以是一个数字或时间字符串。时间字符串格式如'1 day 2 hours 3 minutes 4 seconds 5milliseconds' 或 '1d 2h 3m 4s 5ms'等。参数reason用来解析reason为什么要sleep,sleep的时间和原因都记录在日志中。

例子:
Sleep
42

Sleep
1.5

Sleep
2 minutes 10 seconds

Sleep
10s
Wait for a reply
Variable Should Exist
name, msg=None
Fail如果给定的变量在当前范围内的不存在。
变量名可以是一个正常的变量名(如$ {NAME})或转义格式(例如:\ ${NAME})。注意,前者有一定的局限性, 见SetSuite Variable关键字中的解释。
Msg会覆盖默认的错误消息。
Variable Should NotExist
name, msg=None
Fail如果给定的变量在当前范围内的存在。
变量名可以是一个正常的变量名(如$ {NAME})或转义格式(例如:\ ${NAME})。注意,前者有一定的局限性, 见SetSuite Variable关键字中的解释。
Msg会覆盖默认的错误消息。
Wait Until KeywordSucceeds
timeout, retry_interval, name, *args
等到指定的关键字成功或超时。
name和 args指定了要执行的关键字,类似于Run关键字。如果关键字在超时之前就失败,关键字就Fail。retry_interval是重试间隔:表示上次执行失败要等多久才执行下次。
Timeout和retry_interval必须使用Robot Framework的时间格式(e.g. '1 minute', '2 min 3 s', '4.5').
例子:
Wait Until Keyword Succeeds
2 min
5 sec
My keyword
arg1
arg2

Starting from Robot Framework 2.5 errors caused by invalid syntax,timeouts, or fatal exceptions are not caught by this keyword.机器人框架2.5语法无效,超时,或致命异常引起的错误开始不抓住这个关键字。




页: [1]
查看完整版本: python 自动化测试平台 Robot Framework 内置库 翻译