1.介绍
String用于字符串操作和验证的测试库,是Robot Framework用于处理字符串的标准库(例如:Replace String Using Regexp, Split To Lines,拆分为行)并验证其内容(例如:Should Be String)。
以下来自BuiltIn库的关键字也可以用于字符串:
- Catenate
- Get Length
- Length Should Be
- Should (Not) Be Empty
- Should (Not) Be Equal (As Strings/Integers/Numbers)
- Should (Not) Match (Regexp)
- Should (Not) Contain
- Should (Not) Start With
- Should (Not) End With
- Convert To String
- Convert To Bytes
1.keyword
Convert To Lowercase/Convert To Uppercase
用法:[ string ],字符串中字符全转为小写/大写
结果:
20180515 10:38:25.756 : INFO : ${aa} = AnjnjhDNhdt
20180515 10:38:25.758 : INFO : ${bb} = anjnjhdnhdt
20180515 10:38:25.759 : INFO : ${cc} = ANJNJHDNHDT
Decode Bytes To String(解码)
用法:[ bytes | encoding | errors=strict ],使用给定的编码将给定字节解码为Unicode字符串。
参数errors控制解码某些字节失败时该怎么做。 任何在Python中能使用的decode方法在这个关键字中都可以用。
strict:如果字符无法解码,则失败(默认)
ignore:忽略无法解码的字符
replace:替换无法用替换字符解码的字符
Encode String To Bytes(编码)
用法:[ string | encoding | errors=strict ]
Fetch From Left/Fetch From Right
用法:[ string | marker ],Returns contents of the string
before the first occurrence of marker
.If the marker
is not found, whole string is returned.
结果:
${aa} = aa
${bb} = elloeae
${cc} = a
Split String
用法:[string|separator=None|max_split=-1]返回值为列表,根据分隔符拆分字符串。如果没有给出分隔符,则默认分隔符为任何空格字符串。 在这种情况下,连续的空白以及前后的空白会被忽略。
如果给出可选的max_split,则字符串最多分隔max_split次,返回的列表将具有max_split + 1个元素。
其中:aa-->“ An jnjh DnNh dt”,cc-->“AnjnjhDnNhdt”
结果:@{aa} = [ An | jnjh | DnNh | dt ]
@{bb} = [ A | j | jh D | Nh dt ]
@{cc} = [ A | j | jhD | Nhdt ]
@{dd} = [ A | j | jhDnNhdt ]
Split String From Right
用法:[string|separator=None|max_split=-1],从右侧开始根据分隔符拆分字符串,只有当max_split不是默认值时才会与split string有区别。
结果:@{aa} = [ A | j | jhD | Nhdt ]
@{bb} = [ A | j | jhD | Nhdt ]
@{cc} = [ A | j | jhDnNhdt ]
@{dd} = [ Anj | jhD | Nhdt ]
Split String To Characters
用法:[string],将字符串分割为字符
结果:@{aa} = [ A | n | | | j | n | j | h | | | D | n | N | h | d | t ]
Split To Lines
用法:[string, start=0,end=None],将给定字符串拆分为行,行号从0开始,start和end表示返回的起始行和终止行,[start,end)。
结果:@{aa} = [ aaa | bbbb | cccc | dddd ]
@{bb} = [ bbbb | cccc | dddd ]
@{cc} = [ aaa | bbbb | cccc ]
@{dd} = [ bbbb ]
@{ee} = [ cccc | dddd ]
@{ee} = [ aaa ]
Strip String
用法:[string, mode=both,characters=None],移除字符串首尾的空格,如果有给出characters,则移除掉字符串首尾中包含在characters中的字符, Please note, that this is not a substring to be removed but a list of characters。
_表示空格
Generate Random String
用法:[ length=8 | chars=[LETTERS][NUMBERS] ],根据给定的字符和长度随机产生一个字符串。
其中,参数chars可以为:
Marker | Explanation |
---|---|
[LOWER] |
Lowercase ASCII characters from a to z . |
[UPPER] |
Uppercase ASCII characters from A to Z . |
[LETTERS] |
Lowercase and uppercase ASCII characters. |
[NUMBERS] |
Numbers from 0 to 9. |
结果:${aa} = mGM113rL
${bb} = cwquphbbfkug
${cc} = ryzgdaui
${dd} = 25b9
Get Line
用法:[ string | line_number ],根据行号,获取字符串中的某一行。行号从0开始。
结果:${aa} = dd
${bb} = dd
Get Line Count
用法:[ string ],获取给定字符串的行数。
Get Lines Containing String
用法:[ string | pattern | case_insensitive=False ],获取string中包含pattern的所有行,其中pattern为正常的字符串形式。
Get Lines Matching Pattern
用法:[ string | pattern | case_insensitive=False ],获取string中匹配pattern的所有行,其中pattern为glob pattern。
The pattern
is a glob pattern where:
* |
matches everything |
? |
matches any single character |
[chars] |
matches any character inside square brackets (e.g. [abc] matches either a , b or c ) |
[!chars] |
matches any character not inside square brackets |
Get Lines Matching Regexp
用法:[ string | pattern | partial_match=False ],获取string中匹配正则pattern的所有行。
如果pattern为空,则默认情况下仅匹配空行。当启用部分匹配(partial_match=True)时,空pattern匹配所有行。请注意,要使匹配不区分大小写,您需要在模式前加上不区分大小写的标志(?i)。
Get Regexp Matches
[ string | pattern | *groups ]
Get Substring
[ string | start | end=None ]
Remove String
[ string | *removables ]
Remove String Using Regexp
[ string | *patterns ]
Replace String
[ string | search_for | replace_with | count=-1 ]
Replace String Using Regexp
[ string | pattern | replace_with | count=-1 ]
Should Be Byte String
[ item | msg=None ]
Should Be Lowercase
[ item | msg=None ]
Should Be String
Should Be Titlecase
Should Be Unicode String
Should Be Uppercase
Should Not Be String