作为一门表格语言,为了保持简单的结构,RF没有像别的高级语言那样提供类似if else while等内置关键字来实现各种逻辑功能,而是提供给了用户BuiltIn库。如果用户想在测试用例中实现比较复杂的逻辑,那就需要对BuiltIn中的重要关键字有一些了解。BuiltIn库中还封装了很多常见方法和能够控制RF运行状态的关键字,如果想用好RF,一定要对BuiltIn库中的函数有一个比较全面的理解。下面就带着大家认识一下BuiltIn库中比较重要的关键字。
Evaluate 关键字:
Arguments:[ expression | modules=None | namespace=None ]Evaluates the given expression in Python and returns the results.
如果你需要进行一些数值运算并得到结果,你就需要用到Evaluate关键字。Evaluate会把你想要计算的表达式直接传递给Python,并把Python的计算结果返回给你。这是最经常要用到的。
Should 系列关键字:
Should系列关键字是Should打头的一系列关键字。
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--------参数:[ container | item | msg=None | values=True | ignore_case=False ]果容器一次或多次不包含(包含)项,则失败。
Should Contain X Times--------参数:[ item1 | item2 | count | msg=None | ignore_case=False ]如果item1不包含item2计数次数,则失败。
Should End With--------参数:[ str1 | str2 | msg=None | values=True | ignore_case=False ]如果字符串str1没有以字符串str2结尾,则失败。
Should Match--------参数:[ string | pattern | msg=None | values=True | ignore_case=False ]除非给定的字符串与给定的模式匹配,否则失败。
Should Match Regexp --------参数:[ string | pattern | msg=None | values=True ]如果字符串与作为正则表达式的模式不匹配,则失败(正则表达式).
Should Start With--------参数:[ str1 | str2 | msg=None | values=True | ignore_case=False ]如果字符串str1不以字符串str2开头,则失败。
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 Be Equal As String关键字,其它关键字我们通过关键字的名字就能顾名思义,知道它的作用。
Convert To系列关键字:
Convert To Binary
Convert To Boolean
Convert To Hex
Convert To Integer
Convert To Number
Convert To Octal
Convert To String
做类型转换,将某个值转换为相对应的类型。
Run keyword系列关键字:
Run Keyword If------Arguments:[ condition | name | *args ]如果condition为true,则使用给定的参数运行给定的关键字。
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
这些关键字能根据一个判断条件的真假来看是否执行关键字。一般使用这些关键字来实现高级语言中的ifelse功能。最常用的是Run Keyword If 和 Run Keyword unless 他们俩实现的效果正好相反。
Exit For Loop关键字:
用作退出循环,一般和Run Keyword If关键字联合使用,来实现条件退出。
Wait Until Keyword Succeeds关键字:
这是一个将异步调用变为同步调用的关键字。举一个例子:如果call某个WebService,并且需要得到返回结果才能做下一部操作。我们就会用到这个关键字
比如日期相关的关键字GetTime。让测试暂停的Sleep等。都相当有用。
RF目前仅有2个内置关键字:FOF 和 IN,来实现循环结构。功能还是比较弱的。
Keywords
| Keyword | Arguments | Documentation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Call Method | object, method_name ,*args , **kwargs | 使用提供的参数调用给定对象的命名方法。 返回方法的可能返回值,并将其分配给变量。如果对象没有具有给定名称的方法或者执行该方法引发异常,则关键字都会失败。 支持 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Catenate | *items | 将给定的项目连接在一起并返回结果字符串。 默认情况下,项目用空格连接,但如果第一项包含字符串 例子:
=> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment | *messages | 将日志文件中的给定消息显示为关键字参数。 此关键字对其接收的参数不起任何作用,但由于它们在日志中可见,因此该关键字可用于显示简单消息。鉴于参数被彻底忽略,它们甚至可以包含不存在的变量。如果您对变量值感兴趣,可以使用Log或Log Many关键字。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Continue For Loop | 跳过当前的循环迭代并从下一个继续。 跳过当前for循环迭代中的剩余关键字,并从下一个继续。可以直接在for循环中使用,也可以在循环使用的关键字中使用。 例:
要在不使用Run Keyword If或其他包装关键字的情况下有条件地继续for循环。请参阅Continue For Loop If New in Robot Framework 2.8. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Continue For Loop If | condition | 如果 Continue For Loop的包装器根据给定条件继续for循环。使用与Should Be True关键字相同的语义来评估条件。 例:
New in Robot Framework 2.8. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To Binary | item, base=None, prefix=None, length=None | 将给定项转换为二进制字符串。 的 返回的值可以包含一个可选项, 例子:
See also Convert To Integer, Convert To Octal and Convert To Hex. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To Boolean | item | 将给定项转换为布尔值true或false。 按预期处理字符串 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To Bytes | input, input_type=text |
下面列出了有效的输入类型:
除了将输入作为字符串提供外,还可以使用包含单个字符或数字的列表或其他迭代。在这种情况下,数字不需要填充到一定长度,并且它们不能包含额外的空格。 示例(最后一列显示返回的字节):
如果需要使用特定编码将文本转换为字节,请在 New in Robot Framework 2.8.2. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To Hex | item, base=None, prefix=None, length=None, lowercase=False | 将给定项转换为十六进制字符串。 的 返回的值可以包含一个可选项, 默认情况下,该值作为大写字符串返回,但 例子:
See also Convert To Integer, Convert To Binary and Convert To Octal. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To Integer | item, base=None | 将给定项转换为整数。 如果给定的项是字符串,则默认情况下它应该是基数为10的整数。有两种方法可以从其他基数转换:
语法不区分大小写,可能的空格被忽略。 例子:
See also Convert To Number, Convert To Binary, Convert To Octal, Convert To Hex, and Convert To Bytes. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To Number | item, precision=None | 将给定项转换为浮点数。 如果可选项 例子:
请注意,机器通常无法准确存储浮点数。这可能会导致这些数字出现意外情况,也可能会出现意外情况。有关更多信息,请参阅,例如,这些资源:
如果需要整数,请改用 Convert To Integer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To Octal | item, base=None, prefix=None, length=None | 将给定项转换为八进制字符串。 的 返回的值可以包含一个可选项, 例子:
See also Convert To Integer, Convert To Binary and Convert To Hex. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Convert To String | item | 将给定项转换为Unicode字符串。 用途 如果需要使用不同的编码在Unicode和字节字符串之间进行转换,请使用Encode String To Bytes和Decode Bytes To String | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Create Dictionary | *items | 根据给定的内容创建并返回字典 通常使用与在Variable表中创建变量 或者,可以指定项目,以便分别给出键和值。这个和 如果多次使用相同的键,则最后一个值具有优先权。返回的字典是有序的,带字符串作为键的值也可以使用方便的点访问语法来访问 例子:
这个关键字在Robot Framework 2.9中以多种方式进行了更改:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Create List | *items | 返回包含给定项的列表。 返回的列表可以分配给变量 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Evaluate | expression, modules=None, namespace=None | 在Python中计算给定的表达式并返回结果。
使用的变量 示例(期望
=> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Exit For Loop | 停止执行封闭for循环。 退出封闭的for循环并继续执行。可以直接在for循环中使用,也可以在循环使用的关键字中使用。 例:
请参阅Exit For Loop If 要在不使用Run Keyword If或其他包装关键字的情况下有条件地退出for循环。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Exit For Loop If | condition | 如果 Exit For Loop的包装器根据给定条件退出for循环。使用与Should Be True关键字相同的语义来评估条件。 例:
New in Robot Framework 2.8. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fail | msg=None, *tags | 使用给定消息使测试失败,并可选地更改其标记。 使用 可以通过在消息之后传递标记来修改当前测试用例的标记。以连字符(例如 例子:
如果需要停止整个测试执行,请参阅Fatal Error。 在Robot Framework 2.7.4和2.8中的HTML消息支持中添加了对修改标签的支持。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fatal Error | msg=None | 停止整个测试执行。 使用此关键字的测试或套件将失败并显示提供的消息,后续测试将失败并显示预设消息。尽管如此,可能会执行拆解。 如果您只想无条件地停止一个测试用例,请参阅Fail。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Get Count | item1, item2 | 返回并记录 此关键字适用于Python字符串和列表以及具有 例:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Get Length | item | 返回并以整数形式记录给定项的长度。 该项可以是具有长度的任何项,例如,字符串,列表或映射。关键字首先尝试使用Python函数获取长度,该函数 例子:
See also Length Should Be, Should Be Empty and Should Not Be Empty. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Get Library Instance | name=None, all=False | 返回指定测试库的当前活动实例。 此关键字使测试库可以轻松地与具有状态的其他测试库进行交互。下面的Python示例说明了这一点: 也可以在测试数据中使用此关键字,并将返回的库实例传递给另一个关键字。如果使用自定义名称导入库,则 如果给可选参数 例:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Get Time | format=timestamp, time_=NOW | 以请求的格式返回给定时间。 注意: Robot Framework 2.8.5中添加的DateTime库包含更灵活的关键字,用于获取当前日期和时间以及日常和时间处理。 如何返回时间是根据给定的 1)如果 2)如果 3)否则(默认情况下)时间将作为格式的时间戳字符串返回 默认情况下,此关键字返回当前本地时间,但可以使用 1)如果 2)如果 3)如果 4)如果 5)如果 示例(预计当前的当地时间是2006-03-29 15:06:21):
=> 示例(预计当前当地时间是2006-03-29 15:06:21,UTC时间是2006-03-29 12:06:21):
=> Robot Framework 2.7.5中添加了对UTC时间的支持,但直到2.7.7才能正常工作 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Get Variable Value | name, default=None | 返回变量值或 变量的名称可以作为普通变量名称(例如 例子:
=> See Set Variable If for another keyword to set variables dynamically. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Get Variables | no_decoration=False | 返回包含当前范围中所有变量的字典。 变量作为特殊字典返回,允许以空间,大小写和下划线不敏感方式访问变量,类似于访问测试数据中的变量。此字典支持与普通Python字典相同的所有操作,例如,可以使用集合库来访问或修改它。修改返回的字典对当前范围中可用的变量没有影响。 默认情况下,变量返回 例:
注意:在Robot Framework 2.7.4之前,变量作为不支持所有字典方法的自定义对象返回。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Import Library | name, *args | 使用给定名称和可选参数导入库。 此功能允许在测试运行时动态导入库。如果库本身是动态的并且在处理测试数据时尚不可用,那么这可能是必要的。在正常情况下,应使用“设置”表中的“库”设置导入库。 此关键字支持使用库名称和物理路径导入库。使用路径时,必须以绝对格式给出或从搜索路径中找到它们。正斜杠可用作所有操作系统中的路径分隔符。 可以将参数传递给导入的库,并且如果库支持,则命名参数语法也可以工作。 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Import Resource | path | 使用给定路径导入资源文件。 使用“资源”设置在“设置”表中导入时,使用此关键字导入的资源类似地设置到测试套件范围中。 给定路径必须是绝对路径或从搜索路径中找到。无论操作系统如何,正斜杠都可以用作路径分隔符。 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Import Variables | path, *args | 使用给定路径和可选参数导入变量文件。 使用“变量”设置在“设置”表中导入变量时,使用此关键字导入的变量也会被设置到测试套件范围中。这些变量会覆盖具有相同名称的可能现有变量。因此,此功能可用于导入新变量,例如,用于测试套件中的每个测试。 给定路径必须是绝对路径或从搜索路径中找到。无论操作系统如何,正斜杠都可以用作路径分隔符。 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Keyword Should Exist | name, msg=None | 除非当前范围中存在给定关键字,否则将失败。 如果有多个具有相同名称的关键字,则也会失败。使用短名称(例如 可以使用 See also Variable Should Exist. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Length Should Be | item, length,msg=None | 验证给定项目的长度是否正确。 The length of the item is got using the Get Length keyword. 可以使用 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Log | message, level=INFO, html=False, console=False, repr=False | 使用给定级别记录给定消息。 有效级别为TRACE,DEBUG,INFO(默认),HTML,WARN和ERROR。低于当前活动日志级别的消息将被忽略。有关设置级别 使用WARN或ERROR级别记录的消息也将在控制台和日志文件的“测试执行错误”部分中自动显示。 日志可以通过选配的配置 如果 如果 如果 例子:
如果要一次记录多条消息,请参阅Log Many;如果只想写入控制台,请参阅Log To Console。 参数 Pprint支持何时 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Log Many | *messages | 使用INFO级别将给定消息记录为单独的条目。 还支持单独记录列表和字典变量项。 例子:
如果要使用备用日志级别,使用HTML或登录到控制台,请参阅 Log 和 Log To Console | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Log To Console | message, stream=STDOUT, no_newline=False | 将给定消息记录到控制台。 默认情况下使用标准输出流。使用标准错误流可能是通过给出 默认情况下,会在记录的消息中附加换行符。这可以通过赋予 例子:
此关键字不会将消息记录到普通日志文件中。如果需要,可以使用Log关键字,可能带参数 New in Robot Framework 2.8.2. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Log Variables | level=INFO | 使用给定的日志级别记录当前作用域中的所有变量。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| No Operation | 不做任何操作 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pass Execution | message, *tags | 通过PASS状态跳过当前测试,设置或拆卸的其余部分。 此关键字可以在测试数据中的任何位置使用,但使用的位置会影响行为:
在使用此关键字之前可能的可持续故障以及执行的拆解中的故障将无法执行。 必须提供一条消息,说明执行的原因。默认情况下,该消息被视为纯文本,但启动它 与Fail关键字一样,也可以修改消息后传递标记的测试标记。以连字符(例如 例子:
此关键字通常包含在某些其他关键字中,例如Run Keyword If,以根据条件传递。最常见的情况也可以使用 Pass Execution If:
应谨慎使用在测试,安装或拆卸过程中执行执行。在最坏的情况下,它会导致测试跳过所有可能实际发现测试应用程序中的问题的部分。如果执行无法继续执行外部因素,则通常会使测试用例失败并使其变得非关键性更安全。 New in Robot Framework 2.8. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pass Execution If | condition, message, *tags | 有条件地通过PASS状态跳过当前测试,设置或拆卸的其余部分。 Pass Execution的包装器,用于跳过基于给定的当前测试,设置或拆卸的其余部分 例:
New in Robot Framework 2.8. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Regexp Escape | *patterns | 回转义的每个参数字符串,以用作正则表达式。 此关键字可用于转义要与Should Match Regexp和 Should Not Match Regexp关键字一起使用的字符串。 使用Python的 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Reload Library | name_or_instance | 重新检查指定库提供的关键字。 可以在测试数据中显式调用,也可以在库提供的关键字发生变化时由库本身调用。 可以通过名称或库的活动实例指定库。如果库本身将此关键字称为方法,则后者特别有用。 New in Robot Framework 2.9. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Remove Tags | *tags |
可以精确地给出标签,也可以使用 与Set Tags关键字类似,此关键字可以影响测试套件中的一个测试用例或所有测试用例。 当前标签可作为内置变量使用 例:
See Set Tags if you want to add certain tags and Fail if you want to fail the test case after setting and/or removing tags. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Repeat Keyword | repeat, name,*args | 多次执行指定的关键字。
如果 如果 如果 例子:
指定 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Replace Variables | text | 用给定文本中的当前值替换给定文本中的变量。 如果文本包含未定义的变量,则此关键字将失败。如果给定 例: 文件
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Return From Keyword | *return_values | 从封闭的user关键字返回。 此关键字可用于从具有PASS状态的用户关键字返回,而无需完全执行。也可以与 此关键字通常包含在某些其他关键字中,例如Run Keyword If或Run Keyword If Test Passed,以根据条件返回:
也可以使用此关键字从for循环中的关键字返回。在以下有些高级示例中,Find Index关键字演示了该值以及返回值。请注意,将这种复杂的逻辑移动到测试库中通常是个好主意。 最常见的用例,基于表达式返回,可以使用Return From Keyword If直接完成。这两个关键字都是Robot Framework 2.8中的新功能。 See also Run Keyword And Return and Run Keyword And Return If. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Return From Keyword If | condition, *return_values | 如果 返回关键字的包装器,根据给定条件返回。使用与Should Be True关键字相同的语义来评估条件。 给出与返回关键字相同的示例,我们可以重写Find Index关键字,如下所示: See also Run Keyword And Return and Run Keyword And Return If. New in Robot Framework 2.8. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword | name, *args | 使用给定的参数执行给定的关键字。 因为要执行的关键字的名称是作为参数给出的,所以它可以是变量,因此可以动态设置,例如从另一个关键字的返回值或命令行设置。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword And Continue On Failure | name, *args | 运行关键字并继续执行即使发生故障。 关键字名称和参数与Run Keyword一样。 例:
如果失败是由无效语法,超时或致命异常引起的,则不会继续执行。自Robot Framework 2.9起,此关键字会捕获变量错误。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword And Expect Error | expected_error, name, *args | 运行关键字并检查是否发生了预期的错误。 必须以与Robot Framework报告中相同的格式给出预期错误。它可以是包含字符的模式 如果发生预期错误,则返回错误消息,如果需要,可以进一步处理/测试。如果没有错误,或者错误与预期错误不匹配,则此关键字失败。 例子:
此关键字不会捕获由无效语法,超时或致命异常导致的错误。自Robot Framework 2.9起,此关键字会捕获变量错误。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword And Ignore Error | name, *args | 使用给定的参数运行给定的关键字并忽略可能的错误。 此关键字返回两个值,因此第一个是字符串 关键字名称和参数的工作方式与Run Keyword。有关用法示例,请参阅Run Keyword If。 此关键字不会捕获由无效语法,超时或致命异常导致的错误。否则此关键字本身永远不会失败 自Robot Framework 2.9起,此关键字会捕获变量错误 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword And Return | name, *args | 运行指定的关键字并从封闭的user关键字返回。 要执行的关键字与定义 例:
如果要运行关键字并根据条件返回,使用 Run Keyword And Return If New in Robot Framework 2.8.2. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword And Return If | condition, name,*args | 运行指定的关键字并从封闭的user关键字返回。 Run Keyword and Return的包装器根据给定的运行和返回 例:
如果要根据条件返回特定值,使用Return From Keyword If New in Robot Framework 2.8.2. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword And Return Status | name, *args | 使用给定参数运行给定关键字并将状态返回为布尔值。
关键字名称和参数的工作方式与 Run Keyword 相同 Exmple:
此关键字不会捕获由无效语法,超时或致命异常导致的错误。否则此关键字本身永远不会失败 New in Robot Framework 2.7.6. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If | condition, name,*args | 如果 给定 例如,一个简单的if / else结构:
在此示例中,根据“ 我的关键字”的状态,仅执行“ 某些操作”或“ 其他操作”。您还可以使用 Run Keyword And Return Status来代替Run Keyword And Ignore Error
Example:
从Robot版本2.7.4开始,此关键字还支持可选的ELSE和ELSE IF分支。这两个都是定义的 在前面的例子中,if / else构造也可以像这样创建:
返回值是已执行的关键字之一,如果没有执行关键字,则返回None(即,如果 下面的示例说明了这一点:).
在此示例中,如果$ {condition}为false,则$ {var2}将设置为None。 注意 从Robot Framework 2.8开始,Python的os和sys模块在评估时自动导入
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If All Critical Tests Passed | name, *args | 如果所有关键测试都通过,则使用给定的参数运行给定的关键字。 此关键字只能在套件拆解中使用。试图在任何其他地方使用它将导致错误。 否则,此关键字与“Run Keyword”完全相同,请参阅其文档以获取更多详细信息。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If All Tests Passed | name, *args | 如果所有测试都通过,则使用给定的参数运行给定的关键字。 此关键字只能在套件拆解中使用。尝试在其他地方使用它会导致错误。 否则,此关键字与“Run Keyword”完全相同,请参阅其文档以获取更多详细信息。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If Any Critical Tests Failed | name, *args | 如果任何关键测试失败,则使用给定参数运行给定关键字。 此关键字只能在套件拆解中使用。尝试在其他地方使用它会导致错误。 否则,此关键字与“Run Keyword”完全相同,请参阅其文档以获取更多详细信息。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If Any Tests Failed | name, *args | 如果一个或多个测试失败,则使用给定的参数运行给定的关键字。 此关键字只能在套件拆解中使用。尝试在其他地方使用它会导致错误。 否则,此关键字与“Run Keyword”完全相同,请参阅其文档以获取更多详细信息。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If Test Failed | name, *args | 如果测试失败,则使用给定的参数运行给定的关键字。 此关键字只能用于测试拆解。尝试在其他地方使用它会导致错误。 否则,此关键字与“Run Keyword”完全相同,请参阅其文档以获取更多详细信息。 在Robot Framework 2.9之前,此关键字未检测到测试拆解本身的故障。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If Test Passed | name, *args | 如果测试通过,则使用给定的参数运行给定的关键字。 此关键字只能用于测试拆解。尝试在其他地方使用它会导致错误。 否则,此关键字与“Run Keyword”完全相同,请参阅其文档以获取更多详细信息。 在Robot Framework 2.9之前,此关键字未检测到测试拆解本身的故障。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword If Timeout Occurred | name, *args | 如果发生测试或关键字超时,则运行给定的关键字。 此关键字只能用于测试拆解。尝试在其他地方使用它会导致错误。 否则,此关键字与“Run Keyword”完全相同,请参阅其文档以获取更多详细信息。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keyword Unless | condition, name,*args | 如果 有关详细信息和示例,请参阅Run Keyword。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Run Keywords | *keywords | 按顺序执行所有给定的关键字。 当关键字需要处理多个操作并且创建新的更高级别用户关键字时,这个关键字主要用于设置和拆卸。 默认情况下,所有参数都应该是要执行的关键字。 例子:
从Robot Framework 2.7.6开始,关键字也可以使用大写 例子:
请注意, | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Global Variable | name, *values | 使变量在所有测试和套件中全局可用。 使用此关键字设置的变量在设置后执行的所有测试用例和套件中全局可用。因此,使用此关键字设置变量与使用选项 有关更多信息和示例,请参阅Set Suite Variable . | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Library Search Order | *search_order | 设置名称与多个关键字匹配时使用的分辨率顺序。 当测试数据中的关键字名称与多个关键字匹配时,库搜索顺序用于解决冲突。选择包含关键字的第一个库(或资源,见下文),并使用该关键字实现。如果未在任何库(或资源)中找到关键字,则测试执行失败的方式与未设置搜索顺序时相同。 使用此关键字时,无需使用长
你可以有
此关键字还可用于设置不同资源文件中关键字的顺序。在这种情况下,资源名称必须没有路径或扩展名,如:
注意:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Log Level | level | 将日志阈值设置为指定级别并返回旧级别。 级别以下的消息不会被记录。默认日志记录级别为INFO,但可以使用命令行选项覆盖它 可用级别:TRACE,DEBUG,INFO(默认),WARN,ERROR和NONE(无日志记录)。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Suite Documentation | doc, append=False, top=False | 设置当前测试套件的文档。 默认情况下,可能的现有文档会被覆盖,但可以使用可选 此关键字默认设置当前套件的文档。如果可选 当前套件的文档可作为内置变量使用 Robot Framework 2.7中的新功能。支持 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Suite Metadata | name, value, append=False, top=False | 设置当前测试套件的元数据。 默认情况下,可能会覆盖可能的现有元数据值,但可以使用可选 此关键字默认设置当前套件的元数据。如果可选 当前套件的元数据可作为 机器人框架2.7.4中的新功能。支持 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Suite Variable | name, *values | 使变量在当前套件的范围内随处可用。 使用此关键字设置的变量可在当前执行的测试套件范围内的任何位置使用。因此,使用此关键字设置变量与使用测试数据文件中的变量表创建变量或从变量文件导入变量具有相同的效果。 可能的子测试套件默认情况下看不到使用此关键字设置的变量。从Robot Framework 2.9开始,可以通过使用 变量的名称可以被给予或者作为正常变量名称(例如 如果新范围内已存在变量,则其值将被覆盖。否则,将创建一个新变量。如果变量已存在于当前范围内,则该值可以保留为空,新范围内的变量将获取当前范围内的值。 例子:
要使用空值覆盖现有值,请使用内置变量
注意:如果变量的值本身是变量(转义或不转义),则必须始终使用转义格式设置变量: 例:
此限制也适用于 Set Test Variable, Set Global Variable, Variable Should Exist, Variable Should Not Exist and Get Variable Value keywords. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Tags | *tags |
在测试用例中使用此关键字时,该测试将获取指定的标记,而其他测试不会受到影响。 如果在套件设置中使用此关键字,则该套件中的所有测试用例都会递归地获取给定的标记。在套件拆解中使用此关键字失败。 当前标签可作为内置变量使用 请参见Remove Tags,如果你想删除某些标签和Fail,如果你想失败设置和/或删除标记后的测试案例。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Test Documentation | doc, append=False | 设置当前测试用例的文档。 默认情况下,可能的现有文档会被覆盖,但可以使用可选 当前的测试文档可作为内置变量使用 Robot Framework 2.7中的新功能。支持 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Test Message | message, append=False | 设置当前测试用例的消息。 如果可选 在测试拆解中,此关键字可以更改可能的失败消息,但是否则失败会覆盖此关键字设置的消息。请注意,在拆解时,消息可作为内置变量使用 通过启动消息可以在消息中使用HTML格式 例子:
此关键字无法在套件设置或套件拆卸中使用。 支持 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Test Variable | name, *values | 使变量在当前测试的范围内随处可用。 使用此关键字设置的变量可在当前执行的测试用例范围内的任何位置使用。例如,如果在user关键字中设置变量,则它在测试用例级别以及当前测试中使用的所有其他用户关键字中都可用。其他测试用例不会看到使用此关键字设置的变量。 有关更多信息和示例,请参阅Set Suite Variable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Variable | *values | 返回给定值,然后可以将其分配给变量。 该关键字主要用于设置标量变量。此外,它还可用于将包含列表的标量变量转换为列表变量或多个标量变量。建议在创建新列表时使用“ Create List ”。 例子:
使用此关键字创建的变量仅在创建它们的范围内可用。有关如何设置变量以便它们在更大范围内可用的信息,请参阅 Set Global Variable, Set Test Variable and Set Suite Variable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set Variable If | condition, *values | 根据给定条件设置变量。 基本用法是给出一个条件和两个值。首先以与Should Be True关键字相同的方式评估给定条件。如果条件为true,则返回第一个值,否则返回第二个值。第二个值也可以省略,在这种情况下它有一个默认值None。这种用法在下面的例子中说明,
=> 通过用另一个条件替换第二个值并在其后面有两个新值,也可以使用“else if”支持。如果第一个条件不为真,则计算第二个条件,并根据其真值返回其后的一个值。这可以通过添加更多条件而不受限制来继续。
如果需要根据变量是否存在动态设置变量,请使用 Get Variable Value | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Be Empty | item, msg=None | 验证给定项目是否为空。 使用Get Length关键字获取项目的长度。可以使用
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Be Equal | first, second, msg=None, values=True, ignore_case=False | 如果给定的对象不相等则失败。 可选
如果 如果两个参数都是多行字符串,则使用multiline string comparisons完成比较。 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Be Equal As Integers | first, second, msg=None, values=True, base=None | 如果将对象转换为整数后对象不相等则失败。 有关如何使用参数或前缀从10以外的其他基数转换整数的信息,请参见转换为整数Convert To Integer。 有关如何使用和覆盖默认错误消息的说明,请参阅“ 应该等于Should Be Equal ” 。 例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Be Equal As Numbers | first, second, msg=None, values=True, precision=6 | Fails if objects are unequal after converting them to real numbers. The conversion is done with Convert To Number keyword using the given Examples:
As discussed in the documentation of Convert To Number, machines generally cannot store floating point numbers accurately. Because of this limitation, comparing floats for equality is problematic and a correct approach to use depends on the context. This keyword uses a very naive approach of rounding the numbers before comparing them, which is both prone to rounding errors and does not work very well if numbers are really big or small. For more information about comparing floats, and ideas on how to implement your own context specific comparison algorithm, see http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/. See Should Not Be Equal As Numbers for a negative version of this keyword and Should Be Equal for an explanation on how to override the default error message with | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Be Equal As Strings | first, second, msg=None, values=True, ignore_case=False | Fails if objects are unequal after converting them to strings. See Should Be Equal for an explanation on how to override the default error message with If If both arguments are multiline strings, the comparison is done using multiline string comparisons. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Be True | condition,msg=None | Fails if the given condition is not true. If The default error message ( Examples:
Variables used like Examples:
Starting from Robot Framework 2.8, Should Be True automatically imports Python's os and sys modules that contain several useful attributes:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Contain | container, item,msg=None, values=True, ignore_case=False | Fails if Works with strings, lists, and anything that supports Python's See Should Be Equal for an explanation on how to override the default error message with arguments If Examples:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Contain Any | container, *items, **configuration | Fails if Works with strings, lists, and anything that supports Python's Supports additional configuration parameters Note that possible equal signs in Examples:
New in Robot Framework 3.0.1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Contain X Times | item1, item2, count, msg=None, ignore_case=False | Fails if Works with strings, lists and all objects that Get Count works with. The default error message can be overridden with If Examples:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should End With | str1, str2, msg=None, values=True, ignore_case=False | Fails if the string See Should Be Equal for an explanation on how to override the default error message with | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Match | string, pattern, msg=None, values=True, ignore_case=False | Fails unless the given Pattern matching is similar as matching files in a shell, and it is always case-sensitive. In the pattern, See Should Be Equal for an explanation on how to override the default error message with | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Match Regexp | string, pattern, msg=None,values=True | Fails if Regular expression check is implemented using the Python re module. Python's regular expression syntax is derived from Perl, and it is thus also very similar to the syntax used, for example, in Java, Ruby and .NET. Things to note about the regexp syntax in Robot Framework test data: 1) Backslash is an escape character in the test data, and possible backslashes in the pattern must thus be escaped with another backslash (e.g. 2) Strings that may contain special characters, but should be handled as literal strings, can be escaped with the Regexp Escape keyword. 3) The given pattern does not need to match the whole string. For example, the pattern 4) Possible flags altering how the expression is parsed (e.g. If this keyword passes, it returns the portion of the string that matched the pattern. Additionally, the possible captured groups are returned. See the Should Be Equal keyword for an explanation on how to override the default error message with the Examples:
=> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Be Empty | item, msg=None | Verifies that the given item is not empty. The length of the item is got using the Get Length keyword. The default error message can be overridden with the | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Be Equal | first, second, msg=None, values=True, ignore_case=False | Fails if the given objects are equal. See Should Be Equal for an explanation on how to override the default error message with If | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Be Equal As Integers | first, second, msg=None, values=True, base=None | Fails if objects are equal after converting them to integers. See Convert To Integer for information how to convert integers from other bases than 10 using See Should Be Equal for an explanation on how to override the default error message with See Should Be Equal As Integers for some usage examples. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Be Equal As Numbers | first, second, msg=None, values=True, precision=6 | Fails if objects are equal after converting them to real numbers. The conversion is done with Convert To Number keyword using the given See Should Be Equal As Numbers for examples on how to use | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Be Equal As Strings | first, second, msg=None, values=True, ignore_case=False | Fails if objects are equal after converting them to strings. If See Should Be Equal for an explanation on how to override the default error message with | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Be True | condition,msg=None | Fails if the given condition is true. See Should Be True for details about how | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Contain | container, item,msg=None, values=True, ignore_case=False | Fails if Works with strings, lists, and anything that supports Python's See Should Be Equal for an explanation on how to override the default error message with arguments Examples:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Contain Any | container, *items, **configuration | Fails if Works with strings, lists, and anything that supports Python's Supports additional configuration parameters Note that possible equal signs in Examples:
New in Robot Framework 3.0.1. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not End With | str1, str2, msg=None, values=True, ignore_case=False | 如果字符串 有关如何使用和,以及选项的语义覆盖默认错误消息的说明,请参阅 Should Be Equal | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Match | string, pattern, msg=None, values=True, ignore_case=False | 如果给定的 模式匹配与shell中的匹配文件类似,并且始终区分大小写。在模式 有关如何使用和,以及选项的语义覆盖默认错误消息的说明,请参阅Should Be Equal | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Match Regexp | string, pattern, msg=None,values=True | 如果 有关参数的更多信息,请参阅Should Match Regexp | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Not Start With | str1, str2, msg=None, values=True, ignore_case=False | 如果字符串 有关如何使用和,以及选项的语义覆盖默认错误消息的说明,请参阅Should Be Equal | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should Start With | str1, str2, msg=None, values=True, ignore_case=False | 如果字符串 有关如何使用和,以及选项的语义覆盖默认错误消息的说明,请参阅Should Be Equal | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sleep | time_, reason=None | 暂停在给定时间内执行的测试。
例子:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Variable Should Exist | name, msg=None | 除非给定变量存在于当前范围内,否则失败。 变量的名称可以作为普通变量名称(例如 可以使用 See also Variable Should Not Exist and Keyword Should Exist. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Variable Should Not Exist | name, msg=None | 如果给定变量存在于当前范围内,则失败。 变量的名称可以作为普通变量名称(例如 可以使用 See also Variable Should Exist and Keyword Should Exist. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Wait Until Keyword Succeeds | retry,retry_interval ,name, *args | 运行指定的关键字,如果失败则重试。
如果 如果关键字无论重试都不成功,则此关键字将失败。如果执行的关键字通过,则返回其返回值。 例子:
此关键字捕获所有正常故障。由无效语法,测试或关键字超时或致命异常(例如由致命错误引起)导致的错误未被捕获。 在此关键字内多次运行相同的关键字可以创建大量输出,并显着增加生成的输出文件的大小。从Robot Framework 2.7开始,可以使用 支持指定 |
Altogether 103 keywords.
Generated by Libdoc on 2018-04-25 23:41:28.
参考文档:http://robotframework.org/robotframework/latest/libraries/BuiltIn.html