python 自動化測試平台 Robot Framework 內置庫 翻譯
1.1 概述
#2012-02-16 磁針石
#承接軟件自動化實施與培訓 驗證碼破解 軟件破解 腳本開發 測試和python培訓等
#gtalk: ouyangchongwu#gmail.com qq 37391319 博客:testing.blog.chinaunix.net
#版權所有,轉載刊登請來函聯系
#自動化測試和python群組: http://groups.google.com/group/automation_testing_python
#python qq group: 深圳自動化測試python群:113938272
#武岡深圳qq群:66250781 都梁深圳湖南戶外群:49494279
#參考資料:
Normal 0 7.8 pt 0 2 false false false EN-US ZH-CN X-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 Be Equal, Should Contain),轉換的(e.g. Convert To Integer),其他(e.g. Log, Sleep, Run Keyword If, Set Global Variable)。
所有關鍵字如下:
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會失敗。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Catenate |
Catenate |
連接給定參數,返回字符串。 默認用空格連接參數項目,如果第一個參數為'SEPARATOR=<sep>',則使用”sep”來連接.
例子:
實際結果: => - ${str1} = 'Hello world' - ${str2} = 'Hello---world' - ${str3} = 'Helloworld' |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment |
*messages |
在日志文件中以關鍵字參數形式顯示指定信息。 Comment對參數不進行任何處理,僅僅是顯示在日志中,用於顯示簡單信息。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Convert To Binary |
item, base=None, prefix=None, length=None |
轉換參數為二進制字符串。 如果添加了base參數,則先內部使用Convert To Integer轉換為整數,然后再轉換為二進制數字,以字符串的形式顯示,比如”1011“。 返回值可以包含可選的前綴和最小長度(不包含前綴和負號等)。如果返回值比要求的長度短,則使用0填充。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 To Integer轉換為整數,然后再轉換為十六進制數字,以字符串的形式顯示,比如'FF0A'。 返回值可以包含可選的前綴和最小長度(不包含前綴和負號等)。如果返回值比要求的長度短,則使用0填充。 默認返回大寫字符串,lowercase參數會轉換值為小寫(不包含前綴)。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Convert To Integer |
item, base=None |
轉換參數為整數。 如果參數是字符串,則默認轉為十進制整數。使用其他進制可以用base指定或者添加前綴,比如0b表示2進制,0o表示8進制,0x表示16進制。前綴只有當無base參數才可以添加,前綴的前面還可以添加加減等符號。 語法不區分大小寫並忽略空格
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Convert To Number |
item, precision=None |
轉換參數為浮點數。 如果可選參數precision是正數或零,返回的四舍五入的值。負數則相當於修改-precision位數為0 如果可選參數precision是負數,返回的四舍五入的值。
例子:
注意機器一般不能准確地存儲浮點數。參見http://docs.python.org/tutorial/floatingpoint.html。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Convert To Octal |
item, base=None, prefix=None, length=None |
轉換參數為八進制字符串。 如果添加了base參數,則先內部使用Convert To Integer轉換為整數,然后再轉換為八進制數字,以字符串的形式顯示,比如'775''。 返回值可以包含可選的前綴和最小長度(不包含前綴和負號等)。如果返回值比要求的長度短,則使用0填充。 默認返回大寫字符串,lowercase參數會轉換值為小寫(不包含前綴)。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Convert To String |
item |
轉換參數為Unicode字符串。 針對Python對象使用“__unicode__'或'__str__’方法。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Create List |
*items *項目 |
根據指定參數創建列表。 返回的列表都用來給$ {標量}和@{列表}變量賦值。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Evaluate |
expression, modules=None |
用Python計算表達式並返回結果。 modules參數可用於導入一些逗號分隔模塊列表到表達式計算的名字空間。
的進口和計算表達式的命名空間添加到Python模塊列表。 modules argument can be used to specify a comma separated list of Python modules to be imported and added to the namespace of the evaluated expression .評估在Python表達式,並返回結果。 模塊參數可用於指定一個逗號分隔的進口和計算表達式的命名空間添加到Python模塊列表。
例子: (假定 ${result} 為 3.14): :
=> - ${status} = True - ${down} = 3 - ${up} = 4.0 - ${random} =
注意:如果表達式很復雜,建議在測試庫中實現邏輯。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Exit For Loop |
立即停止執行for循環。 例子:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fail |
msg=None |
停止執行當前測試用例, |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fatal Error |
msg=None |
停止執行整個測試。 后續用例不會執行,可能的teardown也不會執行。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Count |
item1, item2 |
返回並在日志中記錄item2在Item1中出現的次數。 此關鍵字適用於Python字符串和列表和所有具有'count'方法和以及可轉換為Python列表的對象。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 not title.startswith(expected): raise AssertionError("Title '%s' did not start with '%s'" % (title, expected))
它也可以使用這個關鍵字,在測試數據,並返回庫實例傳遞 到另一個關鍵字。 If a library is imported with a custom name, the name used to 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-24 15:08:31' 默認返回當前時間。 1) 如果是浮點數,解釋為自epoch以來的秒數 2) 有效的時間戳,比如:'YYYY-MM-DD hh:mm:ss' and 'YYYYMMDD hhmmss' 3) 'NOW',不區分大小寫,為當前時間 4) 'NOW - 1 day' 或 'NOW + 1 hour 30 min' 等則會計算時間 例子:假定當前時間是2006-03-29 15:06:21
=> - ${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} = '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 Suite Variable關鍵字中的解釋。 例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Get Variables |
返回包含在當前范圍內的所有變量的字典。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Import Library |
name, *args |
在test suite導入庫。 可以在測試執行時動態導入庫。支持庫名和絕對路徑導入。使用'WITH NAME'還可以更改庫名。 例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Import Resource |
path |
在test suite導入資源文件。 path必須是絕對路徑。斜線作為路徑分隔符(包含Windows)。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Import Variables |
path, *args |
在test suite導入變量文件。 path必須是絕對路徑。斜線作為路徑分隔符(包含Windows)。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
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代碼。例如在HTML日志級別將創建一個圖像,但其他級別僅僅是顯示字符串。注意,無效的HTML會破壞整個日志文件,一定要謹慎使用。HTML消息實際上是使用了INFO級別。 WARN級別記錄的消息將在控制台和日志中測試執行的錯誤部分都可以看到。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Log Many |
*messages |
在INFO級別下記錄messages為獨立的條目。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Log Variables |
level=INFO |
在日志中記錄當前所有變量。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
No Operation |
無操作,不做任何事情。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Regexp Escape |
*patterns |
對字符串中的非字母數字進行轉義。 這個關鍵字可以用來轉義關鍵字Should Match Regexp和Should Not Match Regexp使用的字符串。 轉義使用python中的re.escape()函數。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Remove Tags |
*tags |
從當前測試用例或suite中刪除標簽 。 Tag可以使用模式,'*'匹配所有字符,“?”單個字符。 例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Repeat Keyword |
times, name, *args |
執行指定的關鍵字times次。 Times為整數或可以轉換為整數的字符串。為了提高可讀性,還可以在'times'后添加后綴'times' or 'x'(不區分大小寫,去掉多余空格)。 例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replace Variables |
text |
替換text中的變量。 如果文本中沒有包含變量,關鍵字Fail。 例子:假定文件“template.txt”的內容為“Hello $ {NAME}!”,變量的'${NAME}'的值為'Robot'。
如果text只有一個變量,返回值為原來的對象。否則返回字符串。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword |
name, *args |
根據參數args執行關鍵字name。 name可以動態設定,例如,來自另一個關鍵字的返回值或命令行。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword And Continue On Failure |
name, *args |
根據參數args執行關鍵字name,錯誤時依舊繼續執行。
例如:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword And Expect Error |
expected_error, name, *args |
根據參數args執行關鍵字name,預期捕獲到錯誤:expected_error。 預期的錯誤必須和Robot Framework報告中的相同。它可以是一個模式,'*'匹配所有字符,“?”匹配單個字符。捕獲到預期錯誤,返回錯誤消息,否則關鍵字Fail。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword And Ignore Error |
name, *args |
根據參數args執行關鍵字,並忽略錯誤。 此關鍵字返回兩個值,第一個是是“PASS”或'FAIL',第二個值是返回值或者或收到的錯誤消息。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If |
condition, name, *args |
如果condition為真,根據參數args執行關鍵字。 例子:a simple if/else construct:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If All Critical Tests Passed |
name, *args |
如果所有Critical測試用例通過,則根據參數args執行關鍵字。 只能用於suite teardown。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If All Tests Passed |
name, *args |
如果所有測試用例通過,則根據參數args執行關鍵字。 只能用於suite teardown。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If Any Critical Tests Failed |
name, *args |
如果有Critical測試用例Fail,則根據參數args執行關鍵字。 只能用於suite teardown。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If Any Tests Failed |
name, *args |
如果有測試用例Fail,則根據參數args執行關鍵字。 只能用於suite teardown。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If Test Failed |
name, *args |
如果測試用例Fail,則根據參數args執行關鍵字。 只能用於test teardown。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If Test Passed |
name, *args |
如果測試用例Pass,則根據參數args執行關鍵字。 只能用於test teardown。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword If Timeout Occurred |
name, *args |
如果測試用例超時,則根據參數args執行關鍵字。 只能用於test teardown。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keyword Unless |
condition, name, *args |
如果condition為假,根據參數args執行關鍵字。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Run Keywords |
*names |
無參數地執行所有關鍵字。 主要用於setups 和 teardowns中,不想創建更高級別的關鍵字但是有很多很多動作要進行。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 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'。 例子:
本關鍵字創建的變量僅僅在當前范圍有效。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Set Variable If |
condition, *values |
基於condition設置變量。 基本的用法是一個condition和2個value。使用Should Be True來計算condition,如果condition為真,則返回第一個值,否則返回第二個值。第二個值也可以省略,會采用默認值None。
例子:假設${rc}是0
=> - ${var1} = 'zero' - ${var2} = 'value2' - ${var3} = None
多個Set Variable If關鍵字可以嵌套,效果類似於'Else If'。 例子
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Be Empty |
item, msg=None |
驗證給定的項目為空。 Item的長度通過Get Length關鍵字獲取。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Be Equal |
first, second, msg=None, values=True |
Fail除非對象相等。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Be Equal As Integers |
first, second, msg=None, values=True, base=None |
Fail除非轉換為整數后相等。 例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Be Equal As Numbers |
first, second, msg=None, values=True, precision=6 |
Fail除非轉換為實數后相等。 采用Convert To Number關鍵字使用指定的精度進行轉換。
例子:
參考:http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Be Equal As Strings |
first, second, msg=None, values=True |
Fail除非轉換為字符串后相等。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Be True |
condition, msg=None |
Fail除非condition為true。 如果condition是一個字符串(如“$ {RC}<10')使用Python的內置函數'eval'來處理表達式。其他情況參考: http://docs.python.org/lib/truth.html
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Contain |
item1, item2, msg=None, values=True |
Fail除非item1中包含item2。 支持Python有in操作的字符串,列表等。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Contain X Times |
item1, item2, count, msg=None |
Fail除非item1中包含item2 count次。 支持字符串、列表等支持Get Count關鍵字的對象。 支持字符串、列表等支持Get Count關鍵字的對象。Msg會覆蓋默認的錯誤消息。實際次數會記錄在日志中。 列表和獲取計數的所有對象的作品。默認的錯誤消息可以用味精覆蓋和實際計數始終記錄。 例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should End With |
str1, str2, msg=None, values=True |
Fail除非字符串str1以字符串str2結尾。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Match |
string, pattern, msg=None, values=True |
Fail除非string匹配模式pattern。 模式匹配是和shell中的文件匹配類似,它區分大小寫,'*'匹配所有字符,“?”單個字符。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Match Regexp |
string, pattern, msg=None, values=True |
Fail如果string不匹配正則表達式pattern。 使用python的re模塊進行正則表達式匹配,詳細信息如下: * http://docs.python.org/lib/module-re.html * http://www.amk.ca/python/howto/regex/
Robot Framework中的regexp需要注意: 1)反斜杠在測試數據是轉義字符,因此模式中要使用雙重轉義(如:'\\d\\w+')模式可能反斜杠轉義。 2)字符串需要轉義的特殊字符,可以使用regexp ESCAPE關鍵字。 3)pattern不會匹配整個字符串。例如,模式'ello'會匹配字符串'hello world!如果要完整匹配,'^'和'$'字符可以用來表示字符串的開頭和結尾 4)影響表達式解析的標志(eg re.IGNORECASE, re.MULTILINE)可通過前綴'(?iLmsux)'的形式設置(eg '(?im)pattern')。可用的標志有'IGNORECASE': 'i', 'MULTILINE': 'm', 'DOTALL': 's', 'VERBOSE': 'x', 'UNICODE': 'u', and 'LOCALE': 'L'.。 如何表達分析可能改變標志(如re.IGNORECASE,re.MULTILINE)可以設置前綴模式“(?iLmsux)組(如”(IM)模式“)。 如果關鍵字成功,它返回字符串匹配的模式的一部分。另外還可以返回組。
例子:
=> - ${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 Be Equal As Integers |
first, second, msg=None, values=True, base=None |
Fail如果轉換為整數后相等。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Not Be Equal As Numbers |
first, second, msg=None, values=True, precision=6 |
Fail如果轉換為實數后相等。 采用Convert To Number關鍵字使用指定的精度進行轉換。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Should Not Be Equal 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 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的時間和原因都記錄在日志中。
例子:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Variable Should Exist |
name, msg=None |
Fail如果給定的變量在當前范圍內的不存在。 變量名可以是一個正常的變量名(如$ {NAME})或轉義格式(例如:\ $ {NAME})。注意,前者有一定的局限性, 見Set Suite Variable關鍵字中的解釋。 Msg會覆蓋默認的錯誤消息。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Variable Should Not Exist |
name, msg=None |
Fail如果給定的變量在當前范圍內的存在。 變量名可以是一個正常的變量名(如$ {NAME})或轉義格式(例如:\ $ {NAME})。注意,前者有一定的局限性, 見Set Suite Variable關鍵字中的解釋。 Msg會覆蓋默認的錯誤消息。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wait Until Keyword Succeeds |
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'). 例子:
Starting from Robot Framework 2.5 errors caused by invalid syntax, timeouts, or fatal exceptions are not caught by this keyword.機器人框架2.5語法無效,超時,或致命異常引起的錯誤開始不抓住這個關鍵字。 |