RF标准库String的使用
问题:
用robotframework-ride编写金额断言时,获取的金额数据存在千分位分隔符“,”,但是对比数据不存在“,”,而且带千分位分隔符的金额(实际上是字符串)无法转化为数字进行比较。
解决方案:
想办法将带有千分位分隔符的金额中的“,”去掉,这样我们就获得了一个完整的系统可识别的数字。通过关键字should be equal as numbers 就可以成功验证通过了。通过查阅资料,可以利用robotframework的标准库String来实现需求。话不多说,放上标准库的官方文档http://robotframework.org/robotframework/latest/libraries/String.html
步骤用法:
1、robotframework内置String标准库,无需做其他安装操作,在测试套集中直接引入即可。鼠标点击选择一个测试套集(testsuite),右侧Add Import 点击Library,弹窗在Name输入框中输入String,点击确定。导入String标准库,如果列表展示为黑色表示导入成功,如果为红色表示导入失败,需要检查你输入是否正确,或者检查robotframework是否为最新版。一般都可以成功引入的。
2、我主要使用的是Remove String关键字,这里也主要就他的使用方法做详细描述。
格式:${存放截取后字符串的变量} Remove String ${存放截取前的字符串的变量} 想要去掉的字符
(如果想要去掉多个连续字符,填写在一个格里即可;如果想要去掉多个不连续的字符,则需要填到另一个格里)
3、操作结束后,可以用log打印出变量的值,可以看到想要的结果,由此解决了困扰我半天的问题。
截取String库官方文档内容
Introduction
A test library for string manipulation and verification.String
is Robot Framework's standard library for manipulating strings
Following keywords from BuiltIn
library can also be used with strings:
- 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
Altogether 30 keywords.
Keyword | Arguments | Documentation | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Convert To Lowercase | string |
Converts string to lowercase. Examples:
New in Robot Framework 2.8.6. |
||||||||||||||||||||||||||||||
Convert To Uppercase | string |
Converts string to uppercase. Examples:
New in Robot Framework 2.8.6. |
||||||||||||||||||||||||||||||
Decode Bytes To String | bytes, encoding,errors=strict |
Decodes the given
Examples:
Use Encode String To Bytes if you need to convert Unicode strings to byte strings, and Convert To String in |
||||||||||||||||||||||||||||||
Encode String To Bytes | string, encoding,errors=strict |
Encodes the given Unicode
Examples:
Use Convert To Bytes in |
||||||||||||||||||||||||||||||
Fetch From Left | string, marker |
Returns contents of the If the See also Fetch From Right, Split String and Split String From Right. |
||||||||||||||||||||||||||||||
Fetch From Right | string, marker |
Returns contents of the If the See also Fetch From Left, Split String and Split String From Right. |
||||||||||||||||||||||||||||||
Generate Random String | length=8, chars=[LETTERS][NUMBERS] |
Generates(生成) a string with a desired(期望) The population sequence
Examples: log: 20170719 11:20:59.200 : INFO : ${ret} = bjgo5Rz7 |
||||||||||||||||||||||||||||||
Get Line | string, line_number |
Returns the specified line from the given Line numbering starts from 0 and it is possible to use negative indices(负数) to refer to lines from the end. The line is returned without the newline character. Examples:
Use Split To Lines if all lines are needed. |
||||||||||||||||||||||||||||||
Get Line Count | string |
Returns and logs the number of lines in the given string. |
||||||||||||||||||||||||||||||
Get Lines Containing String | string, pattern,case_insensitive=False |
Returns lines of the given The The match is case-sensitive by default, but giving Lines are returned as one string catenated back together with newlines. Possible trailing newline is never returned. The number of matching lines is automatically logged. Examples:
See Get Lines Matching Pattern and Get Lines Matching Regexp if you need more complex pattern matching. |
||||||||||||||||||||||||||||||
Get Lines Matching Pattern | string, pattern,case_insensitive=False |
Returns lines of the given The
A line matches only if it matches the The match is case-sensitive by default, but giving Lines are returned as one string catenated back together with newlines. Possible trailing newline is never returned. The number of matching lines is automatically logged. Examples:
See Get Lines Matching Regexp if you need more complex patterns and Get Lines Containing String if searching literal strings is enough. |
||||||||||||||||||||||||||||||
Get Lines Matching Regexp | string, pattern,partial_match=False |
Returns lines of the given See BuiltIn.Should Match Regexp for more information about Python regular expression syntax in general and how to use it in Robot Framework test data in particular. By default lines match only if they match the pattern fully, but partial matching can be enabled by giving the If the pattern is empty, it matches only empty lines by default. When partial matching is enabled, empty pattern matches all lines. Notice that to make the match case-insensitive, you need to prefix the pattern with case-insensitive flag Lines are returned as one string concatenated back together with newlines. Possible trailing newline is never returned. The number of matching lines is automatically logged. Examples:
See Get Lines Matching Pattern and Get Lines Containing String if you do not need full regular expression powers (and complexity).
|
||||||||||||||||||||||||||||||
Get Regexp Matches | string, pattern,*groups |
Returns a list of all non-overlapping matches in the given string.
If no groups are used, the returned list contains full matches. If one group is used, the list contains only contents of that group. If multiple groups are used, the list contains tuples that contain individual group contents. All groups can be given as indexes (starting from 1) and named groups also as names. Examples:
=> ${no match} = [] ${matches} = ['the', 'tri'] ${one group} = ['he', 'ri'] ${named group} = ['he', 'ri'] ${two groups} = [('h', 'e'), ('r', 'i')] New in Robot Framework 2.9. |
||||||||||||||||||||||||||||||
Get Substring | string, start,end=None |
Returns a substring from The Examples:
|
||||||||||||||||||||||||||||||
Remove String | string, *removables |
Removes all
Use Remove String Using Regexp if more powerful pattern matching is needed. If only a certain number of matches should be removed, Replace String or Replace String Using Regexp can be used. A modified version of the string is returned and the original string is not altered. Examples:
New in Robot Framework 2.8.2. |
||||||||||||||||||||||||||||||
Remove String Using Regexp | string, *patterns |
Removes This keyword is otherwise identical to Remove String, but the New in Robot Framework 2.8.2. |
||||||||||||||||||||||||||||||
Replace String | string, search_for,replace_with,count=-1 |
Replaces
If the optional argument A modified version of the string is returned and the original string is not altered. Examples:
|
||||||||||||||||||||||||||||||
Replace String Using Regexp | string, pattern,replace_with,count=-1 |
Replaces This keyword is otherwise identical to Replace String, but the If you need to just remove a string see Remove String Using Regexp. Examples:
|
||||||||||||||||||||||||||||||
Should Be Byte String | item, msg=None |
Fails if the given Use Should Be Unicode String if you want to verify the The default error message can be overridden with the optional |
||||||||||||||||||||||||||||||
Should Be Lowercase | string, msg=None |
Fails if the given For example, The default error message can be overridden with the optional See also Should Be Uppercase and Should Be Titlecase. |
||||||||||||||||||||||||||||||
Should Be String | item, msg=None |
Fails if the given With Python 2, except with IronPython, this keyword passes regardless is the With Python 3 and IronPython, this keyword passes if the string is a Unicode string but fails if it is bytes. Notice that with both Python 3 and IronPython, The default error message can be overridden with the optional |
||||||||||||||||||||||||||||||
Should Be Titlecase | string, msg=None |
Fails if given
For example, The default error message can be overridden with the optional See also Should Be Uppercase and Should Be Lowercase. |
||||||||||||||||||||||||||||||
Should Be Unicode String | item, msg=None |
Fails if the given Use Should Be Byte String if you want to verify the The default error message can be overridden with the optional |
||||||||||||||||||||||||||||||
Should Be Uppercase | string, msg=None |
Fails if the given For example, The default error message can be overridden with the optional See also Should Be Titlecase and Should Be Lowercase. |
||||||||||||||||||||||||||||||
Should Not Be String | item, msg=None |
Fails if the given See Should Be String for more details about Unicode strings and byte strings. The default error message can be overridden with the optional |
||||||||||||||||||||||||||||||
Split String | string,separator=None,max_split=-1 |
Splits the If a Split words are returned as a list. If the optional Examples:
See Split String From Right if you want to start splitting from right, and Fetch From Left and Fetch From Right if you only want to get first/last part of the string. |
||||||||||||||||||||||||||||||
Split String From Right | string,separator=None,max_split=-1 |
Splits the Same as Split String, but splitting is started from right. This has an effect only when Examples:
|
||||||||||||||||||||||||||||||
Split String To Characters | string |
Splits the given Example:
|
||||||||||||||||||||||||||||||
Split To Lines | string, start=0,end=None |
Splits the given string to lines. It is possible to get only a selection of lines from Lines are returned without the newlines. The number of returned lines is automatically logged. Examples:
Use Get Line if you only need to get a single line. |
||||||||||||||||||||||||||||||
Strip String | string, mode=both,characters=None |
Remove leading and/or trailing whitespaces from the given string.
If the optional Examples:
New in Robot Framework 3.0. |