robot API筆記6


robot.libraries

計划舉辦機器人框架標准測試庫。

圖書館是主要用於外部的測試數據,但是他們可以 也使用自定義測試庫是否有必要。 特別是 的內裝式 圖書館通常是有用的 當需要與框架。

因為使用機器人框架庫記錄的文檔 語法,生成的API文檔並不良好。 因此更好的 找到生成的庫文件

robot.libraries.BuiltIn

robot.libraries.BuiltIn. run_keyword_variant (resolve)
class robot.libraries.BuiltIn. BuiltIn

案例: robot.libraries.BuiltIn._Verify robot.libraries.BuiltIn._Converter ,robot.libraries.BuiltIn._Variables robot.libraries.BuiltIn._RunKeyword ,robot.libraries.BuiltIn._Control robot.libraries.BuiltIn._Misc

一個總是可用的標准庫經常需要的關鍵詞。

內裝式 是機器人框架的標准庫,它提供了一組嗎 通用的關鍵字需要經常。 它是自動導入 因此總是可用的。 例如,可以使用提供的關鍵字 為驗證(如。 應該是平等的 應該包含 ), 轉換(如。 轉換為整數 )和其他各種用途 (如。 日志 睡眠 運行關鍵字如果 設置全局變量 )。

= = HTML錯誤消息

的許多關鍵字接受一個可選錯誤消息使用關鍵字 失敗。 從機器人Framework 2.8開始,可以使用HTML 這些消息通過加上前綴 * HTML * 。 看到 失敗 關鍵字為 一個使用的例子。 請注意,在消息並不局限於使用HTML 內裝式圖書館但與任何錯誤消息。

對表達式求值= =

等關鍵字 評估 運行關鍵字如果 和 應該是真的 , 在Python中接受一個表達式求值。 這些表達式是 評估使用Python的 ( https://docs.python.org/2/library/functions 。 html # eval | eval)功能 像所有的Python內置 len() 和 int() 是可用的。 評估 允許配置執行名稱空間使用自定義模塊, 和其他關鍵字( https://docs.python.org/2/library/os . html |操作系統) 和[https://docs.python.org/2/library/sys 。 html | sys)模塊 自動。

當一個變量用於表達使用正常 變量$ { } 語法,它的值是取代之前的表達式進行求值。 這 意味着使用的價值將字符串表達式 表示變量的值,而不是變量值本身。 這不是一個問題,數字和字符串的其他對象 表示可以直接評估,但與其他對象 的行為依賴於字符串表示。 最重要的是, 字符串必須被引用,如果他們可以包含換行,他們必須 三重引用。

從機器人Framework 2.9開始,自動變量本身 在評價名稱空間。 他們可以使用特殊的訪問 變量的語法沒有大括號 $變量 。 這些 變量不應引用,事實上他們甚至沒有更換 在字符串。

注意,而不是創建復雜的表達式,它往往是更好的 移動到一個測試庫的邏輯。

=布爾參數=

一些關鍵字接受處理為布爾值true或參數 假的。 如果這樣的一個論點是作為一個字符串,它被認為是錯誤的 它是否為空或不區分大小寫 假 或 沒有 。 關鍵詞驗證允許下降實際和預期值的東西 從可能的錯誤消息也考慮字符串 沒有 值 是假的。 其他字符串被認為是真正的不管他們的價值,以及其他 使用相同參數類型進行測試 ( http://docs.python.org/2/library/stdtypes.html真實價值 測試|規則 在Python中)。

真實的例子:

錯誤的例子:

注意,之前一些機器人Framework 2.9關鍵詞考慮所有 非空字符串,包括 假 和 沒有 ,是真的。

= =多行字符串比較

應該是平等的 和 應該等於作為字符串 報告失敗使用 ( https://en.wikipedia.org/wiki / Diff_utility # Unified_format |統一的diff 格式)如果兩個字符串有超過兩行。 新的機器人框架 2.9.1。

結果在以下錯誤信息:

ROBOT_LIBRARY_SCOPE = 'GLOBAL'
ROBOT_LIBRARY_VERSION = '3.0.1.dev20151231'
call_method (objectmethod_name*args**kwargs)

調用指定的方法給定對象的參數提供。

可能的返回值的方法,可以返回 分配給一個變量。 關鍵字如果對象沒有失敗 方法用給定的名稱或者執行提出了一個方法 例外。

支持 * * kwargs 新的機器人框架2.9。 因為這 可能的等號其他參數必須逃跑 反斜杠像\ = 

catenate (*items)

鏈狀的給定的物品一起並返回結果的字符串。

默認情況下,項目加空格,但是如果第一項 包含字符串 分隔符= < 9 > 的分隔符 < 9 > 是 而不是使用。 必要時物品轉換成字符串。

comment (*messages)

顯示給定的消息日志文件的關鍵字參數。

這個關鍵字並沒有接收到的參數,但當他們 日志中是可見的,這個關鍵字可以用來顯示簡單嗎 消息。 給定的參數是如此徹底,他們甚至可以忽略 包含不存在的變量。 如果你感興趣的變量 值,您可以使用 日志 或 日志很多 關鍵詞。

continue_for_loop  )

跳過當前的for循環迭代和繼續下。

跳過其余當前for循環迭代和關鍵詞 從下一個繼續。 可以直接使用for循環或 在一個循環使用的關鍵字。

看到 持續循環如果 有條件地繼續一個for循環 使用 運行關鍵字如果 關鍵詞或其他包裝器。

2.8新機器人框架。

continue_for_loop_if (condition)

如果跳過當前的for循環迭代 條件 是真的。

一個包裝 持續循環 繼續一個for循環 給定的條件。 評估使用相同的狀況 語義與 應該是真的關鍵字。

2.8新機器人框架。

convert_to_binary (itembase=Noneprefix=Nonelength=None)

將給定的條目轉換為二進制字符串。

的 項 ,一個可選的 基地 首先轉換為一個 整數使用 轉換為整數 在內部。 后,這 轉換為二進制數(基礎2)表示成一個 字符串等 1011年 

返回值可以包含一個可選的 前綴 ,可以 需要的最低限度 長度 (不包括前綴和一個 負號)。 如果該值為最初短於 所需的長度,它是用零填充。

另請參閱 轉換為整數 轉換為八進制 和 轉換為十六進制 

convert_to_boolean (item)

將給定的條目轉換為布爾值true或false。

處理字符串 真正的 和 假 (不區分大小寫)正如預期的那樣, 否則返回項的 (http://docs.python.org/2/library/stdtypes 。 html真理# |真值) 使用Python的 布爾值() 方法。

convert_to_bytes (inputinput_type='text')

將給定的 輸入 根據對字節 要發送 

有效的輸入類型下面列出:

  • 文本: 將文本轉換為字節字符的字符。 所有 字符可以使用序數低於256和轉換 字節相同的值。 許多人物簡單的代表 使用轉義,像 \ x00 或 \ xff 。 同時支持Unicode 字符串和字節。
  • int(警官): 將字節整數用空格分開。 同樣作為 與 轉換為整數 ,可以使用二進制、八進制或 通過加前綴值和十六進制值 0 b 0啊 ,或 0 x , 分別。
  • 十六進制: 將十六進制值轉換為字節。 單字節總是 (如兩個字符長。 01 或 FF )。 空間被忽略和 可以使用自由作為視覺分隔符。
  • 本: 將二進制值轉換為字節。 單字節總是8 字符(如。 00001010 )。 空間,可以忽略 自由作為視覺分隔符。

除了給輸入一個字符串,可以使用 列表包含單個字符或數字或其他iterable。 在這種情況下數據不需要填充一定的長度和 他們不能包含額外的空間。

使用 編碼字符串字節 在 字符串 如果你需要,圖書館 將文本轉換為字節使用一個特定的編碼。

新機器人2.8.2框架。

convert_to_hex (itembase=Noneprefix=Nonelength=Nonelowercase=False)

將給定的條目轉換為十六進制字符串。

的 項 ,一個可選的 基地 首先轉換為一個 整數使用 轉換為整數 在內部。 后,這 轉換為十六進制數(基地16)表示為 一個字符串,如 FF0A 

返回值可以包含一個可選的 前綴 ,可以 需要的最低限度 長度 (不包括前綴和一個 負號)。 如果該值為最初短於 所需的長度,它是用零填充。

默認值作為一個大寫字母字符串返回,但是 小寫字母 參數(見一個真正的價值 布爾參數 )轉 價值(但不是給定前綴)小寫。

另請參閱 轉換為整數 轉換為二進制 和 轉換為八進制 

convert_to_integer (itembase=None)

將給定的條目轉換為一個整數的數字。

如果給定的項是一個字符串,默認情況下將一個 整數基地10。 有兩種方法可以從其他基地:

  • 給關鍵字作為基本明確 基地 論點。
  • 前綴與基地以便給定字符串 0 b 意味着二進制 (基礎2), 0啊 意味着八進制(基地8),0 x 意味着十六進制(基地16)。 前綴是只有當 基地 參數沒有給出 本身可能是正負符號前綴。

語法不區分大小寫和可能的空間將被忽略。

另請參閱 轉換為數字 轉換為二進制 轉換為八進制 轉換為十六進制 轉換為字節 

convert_to_number (itemprecision=None)

將給定的條目轉換為浮點數。

如果可選 精度 是正數或零,返回的號碼嗎 是小數四舍五入。 消極的精度意味着 數量是四舍五入為最接近10的倍數 的絕對精度。 如果一個同樣接近一定數量 精度,它總是圓形遠離零。

注意機器一般不能存儲浮點數 准確。 這可能導致意外與這些數字 而且當他們是圓形的。 

如果你需要一個整數數字,使用 轉換為整數 代替。

convert_to_octal (itembase=Noneprefix=Nonelength=None)

把給定的條目轉換為八進制字符串。

的 項 ,一個可選的 基地 首先轉換為一個 整數使用 轉換為整數 在內部。 后,這 被轉換為一個八進制數(基地8)表示成一個 字符串等 775年 

返回值可以包含一個可選的 前綴 ,可以 需要的最低限度 長度 (不包括前綴和一個 負號)。 如果該值為最初短於 所需的長度,它是用零填充。

convert_to_string (item)

將給定的條目轉換為Unicode字符串。

使用 __unicode__ 或 __str__ 與Python對象和方法 toString 與Java對象。

使用 編碼字符串字節 和 解碼字節字符串 關鍵字 在 字符串 圖書館如果需要在Unicode和字節之間進行轉換 使用不同的編碼的字符串。 使用 轉換為字節 如果你只是 想要創建字節字符串。

create_dictionary (*items)

根據給定的項目創建並返回一個字典。

項目有使用 鍵=值 語法一樣 & {詞典} 變量是在變量中創建表。 兩個鍵和值 可以包含變量,和可能的等號密鑰可以逃嗎 這樣的一個反斜杠 逃脫\ =鍵=值 。 還可以 得到項目從現有字典通過簡單地使用它們 & { dict } 

如果多次使用相同的關鍵,最后一個值優先。 返回的字典是有序的,並與字符串作為鍵值 也可以使用方便訪問dot-access語法呢 $ { dict.key } 

這個關鍵字是在許多方面改變了在機器人框架2.9: ——從 集合 圖書館 內裝式 。 ——也支持non-string鍵 鍵=值 語法。 ——棄用舊語法分別給鍵和值。 ——返回詞典是命令和dot-accessible。

create_list (*items)

返回一個列表,其中包含給定的物品。

返回的列表可以被分配 $ {標量} 和 @ {列表} 變量。

評估 evaluate(expressionmodules=Nonenamespace=None)

評估在Python中給定的表達式,並返回結果。

表達式 評估在Python中解釋嗎 評估 表達式 

模塊 參數可以用來指定一個逗號分隔 進口的Python模塊列表和添加到評估 名稱空間。

名稱空間 參數可以通過一個定制的評估 名稱空間是一個字典。 可能的 模塊 被添加到這個 名稱空間。 這是機器人框架2.8.4中的一個新特性。

變量使用像 變量$ { } 在表達式替換嗎 前評估。 變量也可以評價 名稱空間和可以訪問使用特殊的語法 $變量 。 這是機器人Framework 2.9中的一個新特性,它是解釋更多 徹底的 評估表達式 

exit_for_loop  )

停止執行的封閉循環。

退出的封閉循環並繼續執行。 可以直接使用一個for循環或循環使用的關鍵字。

看到 退出循環如果 有條件地退出一個for循環 使用 運行關鍵字如果 關鍵詞或其他包裝器。

exit_for_loop_if (condition)

如果停止執行的封閉循環 條件 是真的。

一個包裝 退出循環 退出一個for循環 給定的條件。 評估使用相同的狀況 語義與 應該是真的關鍵字。

2.8新機器人框架。

fail (msg=None*tags)

失敗測試用給定的消息並選擇改變它的標簽。

使用指定的錯誤消息 味精 論點。 可以使用HTML在給定的錯誤消息,同樣 與任何其他關鍵字接受一個錯誤消息,加前綴 的錯誤 * HTML * 

可以修改當前測試用例的標簽通過標簽 后的消息。 從一個連字符(如標簽。 回歸 ) 刪除和其他補充道。 修改標簽使用 設置標簽 和 刪除標簽 在內部,和語義設置和刪除它們 與這些關鍵字是一樣的。

看到 致命錯誤 如果你需要停止整個測試執行。

支持修改標簽和第2.7.4機器人框架中添加了 HTML 2.8消息的支持。

fatal_error (msg=None)

停止整個測試執行。

測試或套件,這與所提供的關鍵字使用失敗 消息,后續測試失敗消息罐頭。 可能拆解將被執行。

看到 失敗 如果您只希望無條件停止一個測試用例。

get_count (item1item2)

多少次的回報和日志 第二條 發現從 item1 

這個關鍵字使用Python字符串和列表和所有對象 ,要么 數 方法或可轉換為Python列表。

get_length (item)

回報和原木的長度給定的項目作為一個整數。

長度的項目可以是任何東西,例如,一個字符串, 一個列表,或者一個映射。 關鍵字首先嘗試得到的長度 Python函數 len ,它調用項目的 __len__ 方法 在內部。 如果失敗,關鍵字試圖調用項目的 可能的 長度 和 大小 直接的方法。 最后的嘗試 試圖讓物品的的價值 長度 屬性。 如果所有 這些嘗試都失敗,關鍵字失敗。

另請參閱 長度應該是 應該是空的 和 不應該 空 

get_library_instance  name =沒有 所有= False )

返回指定測試的當前活動實例庫。

這個字很容易使測試庫進行交互 其他測試庫的狀態。 這是說明了 Python示例如下:

 

還可以使用這個測試數據和關鍵字 返回圖書館實例傳遞給另一個關鍵詞。 如果一個 圖書館與自定義名稱,進口 的名字 用於獲取 實例必須這個名字而不是原始庫名稱。

如果可選參數 所有 給出一個真正的價值,然后呢 字典將返回所有庫名稱映射到實例。 這個功能是新的2.9.2機器人框架。

get_library_instance (name=Noneall=False)

在請求的格式返回給定的時間。

注意: DateTime 2.8.5包含庫中添加機器人框架 更加靈活的關鍵詞獲得當前日期和時間 和一般意義上的日期和時間處理。

基於給定的返回時間是如何確定 格式 字符串,如下所示。 注意,所有的檢查都是不區分大小寫的。

  1. 如果 格式 包含這個詞 時代 ,返回的時間 在秒后UNIX紀元(1970-01-01就是UTC)。 返回值始終是一個整數。
  2. 如果 格式 包含的任何單詞 一年 月 一天 小時 最小值 ,或 證券交易委員會 ,只有選中的部分 返回。 返回的順序總是一個部分 在前面的句子和單詞的順序 格式 並不重要。 作為在返回的部分 字符串(例如可能- > 05年 )。
  3. 否則(默認情況下)作為一個返回的時間 時間戳字符串的格式 2006-02-24 15:08:31 

默認情況下這個關鍵詞返回當前本地時間,但是 可以改變使用 時間 論證如下解釋。 注意所有檢查包括字符串不區分大小寫的。

  1. 如果 時間 是一個數字,或可以轉換為一個字符串,該字符串 一個數字,它是UNIX紀元以來解釋為秒。 這個文檔最初寫1177654467 秒后時代。
  2. 如果 時間 是一個時間戳,將使用時間。 有效的 時間戳格式 YYYY-MM-DD hh:mm:ss 名稱 hhmmss 
  3. 如果 時間 等於 現在 (默認),當前的地方 使用時間。 這一次是使用Python的了time.time() 函數。
  4. 如果 時間 等於 UTC 當前時間 ( http://en.wikipedia.org/wiki / Coordinated_Universal_Time | UTC) 使用。 這次得到了使用 time.time() time.altzone在Python中。
  5. 如果 時間 在格式 現在 - - - - - - 一天 或 UTC 小時 30 最小值 ,當前的本地/ UTC時間+ / - 使用指定的時間字符串。 字符串格式的時間 附錄中描述機器人框架的用戶指南。

UTC時間2006-03-29 12:06:21):

支持UTC時間添加機器人框架2.7.5但事實並非如此 直到2.7.7正常工作。

get_time (format='timestamp'time_='NOW')

返回變量值或 默認的 如果變量是不存在的。

變量的名稱可以被作為一個正常的變量名 (如。 $ {名稱} (如)或逃跑的格式。\ $ {名稱} )。 請注意 前有一些局限性解釋道 設置組變量 

看到 設置變量如果 另一個關鍵字來動態地設置變量。

get_variables  no_decoration = False )

返回一個字典,其中包含所有變量在當前的范圍。

返回變量作為一種特殊的字典,允許訪問 變量在空間、案例,凸顯不敏感的方式類似 訪問變量的測試數據。 這本詞典支持所有 與正常的Python字典和相同的操作,例如, 集合庫可以用來訪問或修改它。 修改 返回詞典中可用的變量沒有影響 當前的范圍。

返回默認變量 $ { } @ { } 或 & { } 基於變量類型的裝飾。 給一個真正的價值(見 布爾 參數 可選參數 no_decoration 將返回 沒有裝飾的變量。 這個選項是新的機器人 2.9框架。

注意:之前第2.7.4機器人框架變量被返回 一個自定義的對象不支持所有字典方法。

import_library (name*args)

進口一個圖書館與給定名稱和可選參數。

此功能允許動態導入庫,同時測試 正在運行。 這可能是必要的,如果圖書館本身是動態的 處理時,沒有可用的測試數據。 在正常情況下, 圖書館應該進口使用圖書館設置中設置 表。

這字支持導入庫使用圖書館 名稱和物理路徑。 使用路徑時,他們必須 在絕對的格式或發現 (http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html pythonpath-jythonpath-and -ironpythonpath | 搜索路徑)。 正斜杠可作為路徑分隔符 操作系統。

可以導入的庫並傳遞參數 命名參數語法如果庫支持它。 與 的名字 語法可以用來導入庫提供自定義名稱。

import_resource (path)

進口資源文件的路徑。

資源與這個關鍵詞設置導入到測試套件的范圍 同樣在導入設置表使用資源 設置。

給定的路徑必須是絕對的正斜杠可作為路徑分隔符 操作系統。

import_variables (path*args)

進口一個變量與給定的文件路徑和可選參數。

變量與這個關鍵詞設置導入到測試套件的范圍 同樣在導入設置表中使用的變量 設置。 這些變量可能覆蓋現有的變量 相同的名稱。 這個功能可以用於導入新 變量,例如,對於每個測試在測試套件中。

給定的路徑必須是絕對的。 正斜杠可作為路徑分隔符 操作系統。

keyword_should_exist (namemsg=None)

失敗除非給定關鍵字存在於當前的范圍。

失敗如果有多個具有相同名稱的關鍵字。 適用於短的名稱(如。 日志 )和全名 (如。BuiltIn.Log )。

可以覆蓋默認的錯誤消息 味精 論點。

另請參閱 變量應該存在 

length_should_be (itemlengthmsg=None)

驗證給定的項的長度是正確的。

項目的長度是有使用 得到長度 關鍵字。 的 默認錯誤消息可以被覆蓋 味精 論點。

log (messagelevel='INFO'html=Falseconsole=Falserepr=False)

給定的日志消息用給定的水平。

有效的水平跟蹤、調試信息(默認)、HTML、警告和錯誤。 低於當前活動日志消息將被忽略。 看到 設置日志級別 關鍵字, ——loglevel 命令行選項 更多細節關於設置的水平。

消息記錄的警告或錯誤將自動水平 可見也在控制台和測試執行錯誤部分 在日志文件中。

日志可以使用可選的配置 html 控制台 和 repr 參數。 他們是默認關閉的,但可以啟用 給他們一個真正的價值。 看到 布爾參數 節的更多 真假值的信息。

如果 html 參數是給定一個真正價值,將的消息 認為HTML和特殊字符,如 它不 逃脫了。 例如,日志 < img src = " image.png " > 創建一個 圖像時 html 是真的,否則消息確切嗎 字符串。 替代使用 html 參數是使用HTML 偽日志級別。 日志消息作為HTML使用信息的水平。

如果 控制台 論點是正確的,消息將被寫入 控制台從除了測試執行是開始的地方 日志文件。 這個關鍵字總是使用標准輸出流 和書面消息之后添加一個換行符。 使用 記錄到控制台 相反,如果這些是不可取的,

如果 repr 論點是正確的,將通過給定的項 一個定制的版本的Python pprint.pformat() 函數之前 日志記錄。 這是有用的,例如,當與字符串或合作 字節包含不可見字符,或在處理嵌套數據 結構。 自定義版本不同於標准,以便它 省略了 從Unicode字符串前綴,補充道 前綴 字節的字符串。

看到 日志很多 如果你想記錄多個消息,和 記錄到控制台 如果你只是想寫到控制台。

參數 html 控制台 repr 新的機器人框架嗎 2.8.2。

Pprint支持 repr 是新的用於機器人2.8.6框架, 放棄,這是改變 前綴和添加 前綴 在機器人框架2.9。

log_many (*messages)

給定的日志消息作為單獨的條目使用信息的水平。

還支持日志列表和字典變量單獨項目。

看到 日志 和 記錄到控制台 如果您想要使用替代的關鍵詞 日志級別、使用HTML或登錄到控制台。

log_to_console (messagestream='STDOUT'no_newline=False)

給定的日志消息到控制台。

在默認情況下使用標准輸出流。 使用標准的錯誤 流可能是提供 流 參數值 STDERR (不區分大小寫)。

在默認情況下登錄消息附加一個換行符。 這可以 殘疾人提供 no_newline 參數(見一個真正的價值 布爾參數 )。

這個字沒有日志消息到正常的日志文件。 使用 日志 關鍵字,可能與論點 控制台 ,如果想要的。

新機器人2.8.2框架。

log_variables (level='INFO')

記錄所有變量在當前范圍與給定的日志級別。

no_operation  )

絕對不。

pass_execution (message*tags)

跳過當前的測試,安裝或拆卸PASS狀態。

可以使用此關鍵字測試數據的任何地方,但的地方 影響使用的行為:

  • 使用時在任何安裝或拆卸(套件、測試或關鍵字),通過 安裝或拆卸。 可能關鍵字拆解的開始 關鍵字執行。 不影響執行或狀態 否則。
  • 在測試設置外部使用或拆卸時,通過特定的 測試用例。 可能的測試和執行關鍵字拆解。

可能可持續失敗之前使用這個關鍵字,以及 失敗執行拆解,將執行失敗。

它是強制性的給一個消息通過解釋執行。 默認情況下,消息被認為是純文本,但從它開始* HTML * 允許使用HTML格式。

還可以修改測試標簽傳遞標簽后的消息 類似與 失敗 關鍵字。 標記從一個連字符 (如。回歸 )刪除和其他補充道。 標簽修改 使用 設置標簽 和 刪除標簽 在內部,和語義 設置和刪除它們與這些關鍵字是一樣的。

通常包裹其他關鍵字,這個關鍵字等 運行關鍵字如果 ,通過基於條件。 最常見的情況 還可以處理 通過執行如果 :

通過執行的測試,安裝或拆卸 小心使用。 在最壞的情況下會導致跳過所有的測試 部分可以發現問題在測試應用程序。 在這種情況下,執行外部因素不能繼續做, 通常是更安全的失敗的測試用例和非關鍵。

2.8新機器人框架。

pass_execution_if (conditionmessage*tags)

有條件地跳過當前測試,安裝或拆卸PASS狀態。

一個包裝 通過執行 跳過當前測試, 安裝或拆卸 條件 。 的條件是 同樣與評估 應該是真的 關鍵字, 消息 和 *標記 有相同的語義 通過執行 

2.8新機器人框架。

regexp_escape (*patterns)

返回每個參數字符串轉義用作一個正則表達式。

這個關鍵字可用於轉義字符串使用 應該匹配正則表達式 和 不應該匹配正則表達式 關鍵詞。

與Python的逃離了 re.escape() 函數。

reload_library  name_or_instance )

重新檢查關鍵字指定的庫提供了什么。

可以調用顯式地在測試數據或庫本身 當關鍵字提供已經發生了變化。

圖書館可以通過它的名字或指定的活動實例 圖書館。 后者尤其有用,如果庫本身 作為一個方法調用這個關鍵字。

2.9新機器人框架。

remove_tags (*tags)

刪除給定 標簽 從目前的測試或所有測試套件。

標簽可以完全或使用一個模式 匹配 任何東西, 嗎? 匹配一個字符。

這個關鍵字可以影響一個測試用例或者測試用例中 測試套件同樣是 設置標簽 關鍵字。

當前標簽作為一個內置的變量 @ {測試 標簽} 

看到 設置標簽 如果你想添加特定的標簽 失敗 如果你想要 失敗后的測試用例設置和/或刪除標簽。

repeat_keyword (repeatname*args)

多次執行指定的關鍵字。

的名字 和 arg游戲 定義執行同樣的關鍵字 與 運行關鍵字 。 重復 指定(數)或多少次 多久時間(超時)關鍵字應該執行。

如果 重復 給出了計數,它指定了多少次 關鍵字應該執行。 重復 可以作為一個整數或 作為一個字符串,可以轉換為一個整數。 如果它是一個字符串, 它可以有后綴 次 或 (案例和空間不敏感) 使表達更明確。

如果 重復 作為超時,它必須在機器人框架的 時間格式(如。 一分鍾 最小值 年代 )。 單獨使用一個數字 (如。 或 1.5 在這個背景下)不工作。

如果 重復 為零或負數,關鍵字不執行 所有人。 這個關鍵字不能立即如果任何執行 輪失敗。

指定 重復 超時是新的機器人框架3.0。

replace_variables (text)

替換變量在給定的文本與當前值。

如果文本包含未定義的變量,該關鍵字失敗。 如果給定的 文本 只包含一個變量,它的值是多少 按原樣返回,它可以是任何對象。 否則這個關鍵字 總是返回一個字符串。

該文件 template.txt 包含 你好 $ {名稱} ! 和變量 $ {名稱} 的值 機器人 

return_from_keyword  * return_values )

返回從封閉用戶關鍵字。

這個字可以用來返回從用戶關鍵字通過狀態 沒有完全執行。 也可以返回值 類似與 (返回) 設置。 對於更詳細的信息 處理返回值,查看用戶指南。

通常包裹其他關鍵字,這個關鍵字等 運行關鍵字如果 或 運行關鍵字,如果測試通過 ,返回 在一個條件:

可以使用這個關鍵字來返回從一個關鍵詞也在里面 一個for循環。 以及返回值,這是證明了的發現指數 關鍵字在下面有些先進的例子。 注意,它通常是一個好主意將這種復雜的 邏輯到測試庫。

 
 

最常見的用例中,返回一個表達式的基礎上, 完成直接與 從關鍵字如果回來 。 這兩個 關鍵詞在機器人Framework 2.8新。

return_from_keyword_if (condition*return_values)

從封閉用戶關鍵字如果返回 條件 是真的。

一個包裝 從關鍵字 根據給定的返回 條件。 使用相同的語義條件評估 與 應該是真的 關鍵字。

給的例子一樣 從關鍵字 ,我們可以重寫 發現指數 關鍵字如下:

另請參閱 運行關鍵字並返回 和 運行關鍵字並返回 

2.8新機器人框架。

run_keyword (name*args)

用給定的參數執行給定的關鍵字。

因為關鍵字執行的名稱作為一個參數,它 可以是一個變量,因此動態設置,如從一個返回值的 另一個關鍵字或從命令行。

run_keyword_and_continue_on_failure (name*args)

運行關鍵字並繼續執行即使發生故障。

關鍵字名稱和參數與工作 運行關鍵字 

如果不繼續執行失敗是由於無效的語法, 超時,或致命異常。 因為機器人框架2.9,變量被這個關鍵字錯誤。

run_keyword_and_expect_error (expected_errorname*args)

運行關鍵字和檢查預期的錯誤發生。

預期的誤差必須在相同的格式 機器人框架報告。 它可以是一個包含模式 字符 嗎? 匹配任何單個的字符和 匹配任何數量的任何字符。 的名字 和 * args 有相同的語義 運行關鍵字

如果預期錯誤發生時,它可以返回的錯誤消息 被進一步加工/測試,如果需要的話。 如果沒有錯誤,或 錯誤不匹配預期的錯誤,這個關鍵字失敗。

錯誤造成的無效語法,不超時,或致命的異常 抓住了這個關鍵字。 因為機器人框架2.9,變量被這個關鍵字錯誤。

run_keyword_and_ignore_error  ( name * args )

用給定的參數運行給定的關鍵字和忽略了可能的錯誤。

這個關鍵字返回兩個值,所以首先是字符串 通過 或 失敗 ,這取決於執行關鍵字的狀態。 第二個值是關鍵字的返回值或 收到錯誤消息。 看到 運行關鍵字並返回狀態 如果你是 只有感興趣的執行狀態。

關鍵字名稱和參數的工作 運行關鍵字 。 看到 運行關鍵字如果 使用例子。

錯誤造成的無效語法,不超時,或致命的異常 抓住了這個關鍵字。 否則這個字本身永遠不會失敗。 因為機器人框架2.9,變量被這個關鍵字錯誤。

run_keyword_and_return  (name * args )

從封閉運行指定的關鍵字並返回用戶關鍵字。

關鍵字定義執行 的名字 和 * args 完全 像 運行關鍵字 。 運行關鍵字后,返回的 封閉用戶關鍵字和可能的返回值 進一步執行關鍵字。 返回從一個關鍵字完全相同 語義與 從關鍵字 

使用 運行關鍵字並返回 如果你想運行關鍵字並返回 基於一個條件。

新機器人2.8.2框架。

run_keyword_and_return_if (conditionname*args)

從封閉運行指定的關鍵字並返回用戶關鍵字。

一個包裝 運行關鍵字並返回 並返回基於運行 給定的 條件 。 評估使用相同的狀況 語義與 應該是真的 關鍵字。

使用 從關鍵字如果回來 如果你想返回一個特定的值 基於一個條件。

新機器人2.8.2框架。

run_keyword_and_return_status  ( name * args )

運行給定的關鍵字使用給定的參數並返回一個布爾值的地位。

這個關鍵字返回布爾 真正的 如果所執行的關鍵字 成功和 假 如果它失敗了。 這是有用的,例如,在 結合 運行關鍵字如果 。 如果你是感興趣的錯誤 消息或返回值,使用 運行關鍵字而忽略錯誤 代替。

關鍵字名稱和參數的工作 運行關鍵字 

錯誤造成的無效語法,不超時,或致命的異常 抓住了這個關鍵字。 否則這個字本身永遠不會失敗。

新機器人2.7.6框架。

run_keyword_if  conditionname*args )

用給定的參數運行給定的關鍵字,如果 條件 是真的。

給定的 條件 評估在Python中解釋嗎 評估表達式 的名字 和 * args 具有相同的 語義與 運行關鍵字 

在這個例子中,只有 一些行動 或 另一個動作 是 執行,基於的狀態 我的關鍵字 。 而不是 運行關鍵字 和忽略的錯誤 您還可以使用 運行關鍵字並返回狀態 

變量使用像 變量$ { } 在上面的示例中, 在評價之前的表達式所取代。 變量也 在評價名稱空間,可以使用特殊的訪問 語法 $變量 。 這是機器人Framework 2.9中的一個新特性 解釋更徹底 評估表達式 

從第2.7.4機器人版本開始,這個字也支持可選的 其他和其他分支。 這兩個定義 * args 和 必須使用准確的格式 其他的 或 其他的 如果 ,分別。 其他的 分支機構必須包含第一個關鍵字的名稱,然后執行 其可能的參數。 其他如果分支首先必須包含一個條件, 像這個關鍵字的第一個參數,然后執行關鍵字 及其可能的參數。 可以有其他分支 如果和其他有多個分支機構。

鑒於之前的例子,if / else構造也可以創建這樣的:

返回值的一個關鍵字,或者沒有被處決 沒有關鍵字(即如果執行 條件 是假的)。 因此,它是 建議使用其他的和/或其他如果有條件地分配分支 返回值的關鍵字(有條件地分配固定的變量 值變量,明白了 設置變量如果 )。 這是說明的 在下面的例子:

在這個例子中,$ { var2 }將被設置為None如果$ { }條件是錯誤的。

請注意, 其他的 和 其他的 如果 必須使用控制字 明確,因此不能來自變量。 如果你需要使用 文字 其他的 和 其他的 如果 字符串作為參數,你可以逃跑 一個反斜杠 其他\ 其他\ 如果 

 使用屬性它們包含的條件:

run_keyword_if_all_critical_tests_passed (name*args)

用給定的參數運行給定的關鍵字,如果所有關鍵測試通過。

這個關鍵字只能用於套件拆卸。 試圖使用它 其他地方會導致一個錯誤。

否則,該關鍵字一樣有效 運行關鍵字 ,看到它 文檔以了解更多的細節。

run_keyword_if_all_tests_passed  的名字 * args )

用給定的參數運行給定的關鍵字,如果所有測試通過。

這個關鍵字只能用於一套拆卸。 試圖使用它 其他地方會導致錯誤。

否則,該關鍵字一樣有效 運行關鍵字 ,看到它 文檔以了解更多的細節。

run_keyword_if_all_tests_passed (name*args)

用給定的參數運行給定的關鍵字,如果任何關鍵測試失敗了。

這個關鍵字只能用於一套拆卸。 試圖使用它 其他地方會導致錯誤。

否則,該關鍵字一樣有效 運行關鍵字 ,看到它 文檔以了解更多的細節。

run_keyword_if_any_tests_failed  ( name * args )

用給定的參數運行給定的關鍵字,如果一個或多個測試失敗了。

這個關鍵字只能用於一套拆卸。 試圖使用它 其他地方會導致錯誤。

否則,該關鍵字一樣有效 運行關鍵字 ,看到它 文檔以了解更多的細節。

run_keyword_if_test_failed  ( name  * args )

用給定的參數運行給定的關鍵字,如果測試失敗了。

這個關鍵字只能用於測試拆卸。 試圖使用它 其他地方會導致錯誤。

否則,該關鍵字一樣有效 運行關鍵字 ,看到它 文檔以了解更多的細節。

機器人框架2.9之前的失敗測試拆卸本身 沒有檢測到這個關鍵字。

run_keyword_if_test_passed  ( name  * args )

用給定的參數運行給定的關鍵字,如果測試通過。

這個關鍵字只能用於測試拆卸。 試圖使用它 其他地方會導致錯誤。

否則,該關鍵字一樣有效 運行關鍵字 ,看到它 文檔以了解更多的細節。

機器人框架2.9之前的失敗測試拆卸本身 沒有檢測到這個關鍵字。

run_keyword_if_timeout_occurred  ( name  * args )

運行給定的關鍵字,如果一個測試或關鍵字發生超時。

這個關鍵字只能用於測試拆卸。 試圖使用它 其他地方會導致錯誤。

否則,該關鍵字一樣有效 運行關鍵字 ,看到它 文檔以了解更多的細節。

run_keyword_unless (conditionname*args)

用給定的參數運行給定的關鍵字,如果 條件 是假的。

看到 運行關鍵字如果 為更多的信息和一個例子。

run_keywords (*keywords)

執行所有給定的關鍵字在一個序列。

這個關鍵字是在安裝和拆卸時它們需要主要是有用的 照顧多個行為和用戶創建一個新的更高的水平 關鍵字將是一個過度。

默認情況下所有參數預計將執行關鍵字。

從機器人框架2.7.6,關鍵詞也可以運行 參數使用大寫 和 作為一個關鍵字之間的分隔符。 關鍵字執行第一個參數是第一 直到第一個關鍵字和程序參數 和 是參數 到它。 第一個后第一個參數 和 第二個字和嗎 直到下一個程序參數 和 是它的參數。 等等。

請注意, 和 參數必須顯式地使用和控制 不能自己來自一個變量。 如果你需要使用文字 字符串作為參數,可以使用變量或逃避它 一個反斜杠 \和 

set_global_variable (name*values)

在全球范圍內提供一個變量在所有測試套件。

變量組與這個關鍵詞在所有測試全局可用 病例和套件設置后執行。 設置變量與 這個字這樣從命令行創建同樣的效果 使用的選項 ——變量 或 ——variablefile 。 因為這 關鍵字可以改變變量無處不在,應該小心使用它。

看到 設置組變量 的更多信息和示例。

set_library_search_order  * search_order )

設置分辨率匹配多個關鍵詞時要使用一個名稱。

圖書館搜索命令用於解決沖突時一個關鍵字 名字在測試數據匹配多個關鍵詞。 第一個圖書館 (或資源,見下文)包含關鍵字的選擇 關鍵字實現使用。 如果沒有找到關鍵字從任何庫 (或資源),測試執行搜索時失敗一樣 訂單沒有設置。

當使用這個關鍵字時,不需要使用很長時間 LibraryName.Keyword 的名字 符號。 例如,而不是 有

你可以有

還可以使用此關鍵字設置關鍵詞的順序不同 資源文件。 在這種情況下,資源名稱必須沒有路徑 或擴展:

注意: ——搜索順序是有效的只有在使用這個關鍵字的套件。 ——關鍵詞資源總是有更高的優先級

關鍵詞在圖書館搜索順序無關。
  • 返回舊秩序,可以用來重置搜索順序。
  • 圖書館和資源名搜索順序都和空間 不敏感。
set_log_level (level)

將日志閾值設置為指定的級別,並返回舊的級別。

消息水平以下不會記錄。 默認的日志級別 信息,但它可以覆蓋命令行選項 ——loglevel 

可用的級別:跟蹤、調試信息(默認)、警告、錯誤和沒有(沒有 日志記錄)。

set_suite_documentation (docappend=Falsetop=False)

設置文檔為當前的測試套件。

默認情況下,可能現有的文檔覆蓋,但是 這個可以改變使用可選的 附加 參數類似的 與 設置測試消息 關鍵字。

這個關鍵字設置默認文檔當前的套件。 如果可選 前 (見參數給出一個真正的價值 布爾 參數的文檔),頂級套房是改變 代替。

當前套件的文檔作為一個內置的是可用的 變量 $ {套件 文檔} 

2.7新機器人框架。 支持 附加 和 前 是 在2.7.7補充道。

set_suite_metadata (namevalueappend=Falsetop=False)

集元數據為當前的測試套件。

在默認情況下可能的值覆蓋現有的元數據,但是 這個可以改變使用可選的 附加 參數類似的 與 設置測試消息 關鍵字。

這個關鍵字設置默認當前套件的元數據。 如果可選 前 (見參數給出一個真正的價值 布爾 參數 的元數據),頂級套房是改變。

當前套件的元數據可以作為內置的變量 $ {套件 元數據} 在Python字典。 注意,修改這個 變量直接對實際的元數據套件沒有影響。

新的第2.7.4機器人框架中。 支持 附加 和 前 是 在2.7.7補充道。

set_suite_variable (name*values)

到處都提供一個變量的范圍內當前的套件。

變量設置該關鍵字內到處都是可用的 當前執行的測試套件的范圍。 設置變量與這個 關鍵字因此有同樣的效果,使用變量創建它們 表測試數據文件中或從變量文件導入它們。

可能孩子測試套件看不到變量設置關鍵字 默認情況下。 從機器人Framework 2.9開始,可以控制 通過使用 孩子= <選項> 作為最后一個參數。 如果指定的 <選項> 一個非空字符串或任何其他值被認為是真的嗎 在Python中,變量設置也對孩子套件。 父母和 兄弟姐妹套件永遠不會看到這個字變量集。

變量的名稱可以被作為一個正常的變量名 (如。 $ {名稱} )或逃跑的格式 \ $ {名稱} 美元的名字 。 變量值可以使用相同的語法當變量 在變量創建表。

如果一個變量已經存在在新的范圍,它的價值 覆蓋。 否則就會創建一個新的變量。 如果一個變量已經 在當前的范圍內存在,可左空和價值 變量的新范圍內得到當前范圍內的值。

與空值覆蓋現有的值,使用內置的 變量 $ {空} @ {空} 或 & {空} :

注意: 如果變量值,本身就是一個變量(逃脫了 ),你必須總是使用逃脫格式設置變量:

這種限制也適用於 設置測試變量 集全球 變量 變量應該存在 變量不存在 和 獲取變量值 關鍵詞。

set_tags (*tags)

增加了給 標簽 當前測試或所有測試套件。

當使用該關鍵字在一個測試用例,測試 指定的標簽和其他測試不受影響。

如果使用該關鍵字在一套的設置中,所有的測試用例 套件,遞歸,得到給定的標記。 這是一個失敗 在一套拆卸使用此關鍵字。

當前標簽作為一個內置的變量 @ {測試 標簽} 

看到 刪除標簽 如果你想刪除某些標簽 失敗 如果 你想失敗后的測試用例設置和/或刪除標簽。

set_test_documentation  醫生 附加= False )

當前測試用例的文檔集。

默認情況下,可能現有的文檔覆蓋,但是 這個可以改變使用可選的 附加 參數類似的 與 設置測試消息 關鍵字。

目前的測試文檔提供一個內置的變量 $ {測試 文檔} 。 這個關鍵字不能用於套件 設置或套件拆卸。

2.7新機器人框架。 支持 附加 在2.7.7補充道。

set_test_documentation (docappend=False)

設置當前測試用例的信息。

如果可選 附加 (見參數給出一個真正的價值 布爾 參數 ),給 消息 添加后可能的早 消息通過加入空間信息。

在測試拆卸這個關鍵字可以改變可能的失敗消息, 否則失敗覆蓋這個關鍵字設定的消息。 請注意 在拆卸消息可以作為一個內置的變量 $ {測試 信息} 

可以使用HTML格式的消息從消息 與 * HTML * 

這個關鍵字不能用於套件設置或套件拆卸。

支持 附加 添加機器人框架2.7.7和支持嗎 2.8的HTML格式。

set_test_message (messageappend=False)

到處都提供一個變量的范圍內當前的測試。

變量設置該關鍵字內到處都是可用的 當前測試用例執行的范圍。 例如,如果您設置一個 變量在用戶關鍵字,它在測試用例級別都是可用的 和所有其他用戶關鍵字用於當前的測試。 其他 測試用例不會看到變量設置關鍵字。

看到 設置組變量 的更多信息和示例。

set_variable (*values)

返回給定的值,然后可以分配給一個變量。

這個關鍵字主要用於設置標量變量。 另外它可用於轉換一個標量變量 包含一個列表列表變量或多個標量變量。 推薦使用 創建列表 當創建新列表。

變量與該關鍵字只能創建 他們創建范圍。 看到 設置全局變量 設置測試變量 和 設置組變量怎樣的信息 設置變量,這樣他們可以在更大的范圍。

set_variable_if  條件 *值 )

設置變量根據給定的條件。

基本的使用條件和兩個值。 的 給定的條件是第一次評價的一樣 應該是真的 關鍵字。 如果條件為真,那么 第一個返回值,否則第二個值 返回。 第二個值也可以省略,在這種情況下 它有一個默認值。 這種用法說明 在下面的例子, $ { rc } 被認為是零。

還可以有其他的如果的支持通過替換 第二個值與另一個條件,有兩個新的價值觀 在它。 如果第一個條件是不正確的,第二個是 評估的值后,基於返回 其真值。 這可以繼續通過添加更多 沒有限制條件。

使用 獲取變量值 如果你需要設置變量 根據是否存在一個變量動態。

set_variable_if (condition*values)

驗證給定的項目是空的。

項目的長度是有使用 得到長度 關鍵字。 的 默認錯誤消息可以被覆蓋 味精 論點。

should_be_equal (firstsecondmsg=Nonevalues=True)

失敗如果給定的對象是不平等的。

可選 味精 和 值 參數指定如何構造 如果這個關鍵字失敗錯誤消息:

  • 如果 味精 不是,錯誤消息嗎 <第一次> ! = <二> 
  • 如果 味精 給出 值 得到一個真正的價值,錯誤 信息是 <味精>: <第一次> ! = <二> 
  • 如果 味精 給出 值 得到一個錯誤的值,誤差 消息是 <味精> 

值 默認情況下是正確的,但可以通過使用轉向錯誤, 例如,字符串 假 或 沒有 值 。 看到 布爾參數 部分為更多的細節。

如果兩個參數是多行字符串,使用進行了比較 多行字符串比較 

should_be_equal_as_integers (firstsecondmsg=Nonevalues=Truebase=None)

失敗后如果對象是不平等將他們轉換為整數。

看到 轉換為整數 如何轉換為整數的信息 使用其他基地10 基地 參數或 0 0 b / o / x 前綴。

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_be_equal_as_numbers (firstsecondmsg=Nonevalues=Trueprecision=6)

失敗后如果對象是不平等將他們轉化為實數。

轉換完成 轉換為數字 關鍵字使用 鑒於 精度 

作為討論的文檔 轉換為數字 ,機器 一般不能存儲浮點數准確。 因為 這個限制,平等是有問題的,比較浮 一個正確的方法使用取決於上下文。 這個關鍵字的使用 一個很天真的舍入數字之前的方法進行比較, 這是容易舍入誤差和不工作很好嗎 數量非常大或小。 關於比較的更多信息 浮動,具體如何實現自己的上下文 比較算法,看到http://randomascii.wordpress.com/2012/02/25/comparing -浮-點-數字- 2012 edition/ 

看到 不應該平等的數字嗎 負面的版本 關鍵字, 應該是平等的 解釋如何覆蓋 默認的錯誤消息味精 和 值 

should_be_equal_as_strings (firstsecondmsg=Nonevalues=True)

失敗后如果對象是不平等將他們轉換為字符串。

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

如果兩個參數是多行字符串,使用進行了比較 多行字符串比較 

should_be_true (conditionmsg=None)

失敗如果給定的條件是不正確的。

如果 條件 是一個字符串(例如 $ { rc } 10 ),這是評估 Python表達式中解釋 評估表達式和 關鍵字狀態是基於結果的決定。 如果non-string項 ,直接從其狀態了

默認錯誤消息( <條件> 應該 是 真正的 )不是很 信息,但它可以覆蓋 味精 論點。

變量使用像 變量$ { } 在上面的示例中, 在評價之前的表達式所取代。 變量也 在評價名稱空間,可以使用特殊的訪問 語法 $變量 。 這是機器人Framework 2.9中的一個新特性 解釋更徹底 評估表達式 

從機器人Framework 2.8開始, 應該是真的 自動 Python的進口(http://docs.python.org/2/library/os 。 html | os)和 ( http://docs.python.org/2/library/sys 。 包含html | sys)模塊 幾個有用的屬性:

should_contain (containeritemmsg=Nonevalues=True)

沒有如果 容器 不包含 項 一次或多次。

使用字符串、列表和任何支持Python的 在 操作符。 看到 應該是平等的 解釋如何覆蓋 默認的錯誤消息 味精 和 值 

should_contain_x_times (item1item2countmsg=None)

沒有如果 item1 不包含 第二條 數 次了。

使用字符串、列表和所有對象 得到數 作品 與。 可以覆蓋默認的錯誤消息 味精 和 實際的數總是記錄。

should_end_with (str1str2msg=Nonevalues=True)

失敗如果字符串 str1 不以字符串結束 str2 

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_match (stringpatternmsg=Nonevalues=True)

失敗除非給定的 字符串 匹配給定的 模式 

模式匹配相似匹配的文件在一個殼,它是 總是區分大小寫的。 的模式, 匹配任何和 嗎? 匹配任何單個的字符。

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_match_regexp (stringpatternmsg=Nonevalues=True)

沒有如果 字符串 不匹配 模式 作為一個正則表達式。

正則表達式檢查是使用Python實現的 ( http://docs.python.org/2/library/re 。 html | re模塊)。 Python的常規 表達式語法來自Perl,因此也很 類似於使用的語法,例如,在Java、Ruby和。net。

注意事項關於機器人regexp語法的框架測試數據:

1)反斜杠是一個轉義字符的測試數據,和可能的 反斜杠在模式因此必須與另一個反斜杠轉義 (如。 \ \ \ \ w + )。

2)可能包含特殊字符的字符串,但應該處理 字符串,可以逃的 Regexp逃脫 關鍵字。

3)給定的模式不需要匹配整個字符串。 為 的例子中,模式 嗨 匹配的字符串 你好 世界! 。 如果 一個完整的匹配是必要的, 和 美元 字符可以使用 分別表示字符串的開始和結束。 例如, ^嗨美元 只有匹配的字符串 嗨 

4)可能標志改變如何解析表達式(例如。 re.IGNORECASE re.MULTILINE )可以通過加前綴 模式與 (? iLmsux) 組織像 (? im)模式 。 的 可用的旗幟 我 (不區分大小寫), 米 (多行模式),年代 (dotall模式), (詳細) (Unicode) (地區)的依賴。

如果這個關鍵字,它返回字符串的一部分 匹配模式。 此外,可能的捕獲組 返回。

看到 應該是平等的 關鍵字解釋如何覆蓋 的默認錯誤消息 味精 和 值 參數。

should_not_be_empty (itemmsg=None)

驗證給定的項目不是空的。

項目的長度是有使用 得到長度 關鍵字。 的 默認錯誤消息可以被覆蓋 味精 論點。

should_not_be_equal (firstsecondmsg=Nonevalues=True)

失敗如果給定的對象是相等的。

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_not_be_equal_as_integers (firstsecondmsg=Nonevalues=Truebase=None)

失敗如果對象相等后將它們轉換為整數。

看到 轉換為整數 如何轉換為整數的信息 使用其他基地10 基地 參數或 0 0 b / o / x 前綴。

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

看到 應該等於整數嗎 對於一些用法示例。

should_not_be_equal_as_numbers (firstsecondmsg=Nonevalues=Trueprecision=6)

失敗如果對象相等后將它們轉化為實數。

轉換完成 轉換為數字 關鍵字使用 鑒於 精度 

看到 應該平等的數字 如何使用的例子 精度 為什么它並不總是像預期的那樣工作。 另請參閱 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_not_be_equal_as_strings (firstsecondmsg=Nonevalues=True)

失敗如果對象相等后將它們轉換為字符串。

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_not_be_true(conditionmsg=None)

如果給定的條件為真失敗。

看到 應該是真的 有關詳細信息,如何 條件 評估 以及如何 味精 可以用來覆蓋默認的錯誤消息。

should_not_contain (containeritemmsg=Nonevalues=True)

沒有如果 容器 包含 項 一次或多次。

使用字符串、列表和任何支持Python的 在 操作符。 看到 應該是平等的 解釋如何覆蓋 默認的錯誤消息 味精 和 值 

should_not_end_with (str1str2msg=Nonevalues=True)

失敗如果字符串 str1 結尾的字符串 str2 

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_not_match (stringpatternmsg=Nonevalues=True)

如果給定的失敗 字符串 匹配給定的 模式 

模式匹配相似匹配的文件在一個殼,它是 總是區分大小寫的。 在模式 匹配任何和 嗎? 匹配任何單個的字符。

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_not_match_regexp (stringpatternmsg=Nonevalues=True)

沒有如果 字符串 匹配 模式 作為一個正則表達式。

看到 應該匹配正則表達式 關於參數的更多信息。

should_not_start_with (str1str2msg=Nonevalues=True)

失敗如果字符串 str1 從字符串開始 str2 

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

should_start_with (str1str2msg=Nonevalues=True)

失敗如果字符串 str1 不從字符串開始 str2 

看到 應該是平等的 解釋如何覆蓋默認的 錯誤消息與 味精 和 值 

睡眠 sleep(time_reason=None)

停頓的測試執行。

時間 可以是數字或字符串。 時間字符串 這樣的格式 一天 小時 分鍾 秒 5毫秒 1 d 2 h 3米 4 s 5女士 ,他們是完全的附錄解釋道 機器人框架用戶指南。 可選 原因 可以用來解釋為什么 睡眠是必要的。 睡的時間和原因都記錄下來。

variable_should_exist (namemsg=None)

失敗除非給定的變量在當前的范圍內存在。

變量的名稱可以被作為一個正常的變量名 (如。 $ {名稱} (如)或逃跑的格式。\ $ {名稱} )。 請注意 前有一些局限性解釋道 設置組變量 

可以覆蓋默認的錯誤消息 味精 論點。

另請參閱 變量不存在 和 關鍵字應該存在 

variable_should_not_exist (namemsg=None)

失敗如果給定的變量在當前的范圍內存在。

變量的名稱可以被作為一個正常的變量名 (如。 $ {名稱} (如)或逃跑的格式。\ $ {名稱} )。 請注意 前有一些局限性解釋道 設置組變量 

可以覆蓋默認的錯誤消息 味精 論點。

另請參閱 變量應該存在 和 關鍵字應該存在 

wait_until_keyword_succeeds (retryretry_intervalname*args)

如果不能運行指定的關鍵字,並重試。

的名字 和 arg游戲 定義執行同樣的關鍵字 與 運行關鍵字 。 多長時間重試運行關鍵字 定義使用 重試 論點,超時或計數。 retry_interval 是時候嘗試運行前等待 關鍵字后再上一次運行失敗了。

如果 重試 作為超時,它必須在機器人框架的 時間格式(如。 一分鍾 最小值 年代 ,4.5 ) 解釋在一個附錄機器人框架的用戶指南。 如果它是 作為計數,它必須有 次 或 后綴(如。 次 10 )。 retry_interval 必須始終在嗎 機器人框架的時間格式。

如果關鍵字不成功不管重試,這個關鍵字 失敗。 如果執行關鍵字傳遞,其返回值返回。

所有正常的失敗都被這個關鍵字。 錯誤造成的 無效的語法,測試或關鍵字超時,或致命的異常(引起 例如,由 致命錯誤 不抓住。

多次運行相同的關鍵字在這個關鍵字可以創建 大量的輸出和大大增加生成的大小 輸出文件。 從機器人Framework 2.7,它是可能的 刪除不必要的輸出使用的關鍵字——RemoveKeywords WUKS 命令行選項。

支持指定 重試 作為一個重試的次數 2.9機器人框架中的一個新特性。 因為機器人框架2.9,變量被這個關鍵字錯誤。

異常 r obot.libraries.BuiltIn。  RobotNotRunningError 

案例: exceptions.AttributeError

時使用的東西不能做,因為機器人沒有運行。

基於AttributeError射頻< 2.8.5向后兼容。 可能以后是直接基於例外,所以新代碼應該除了嗎 明確這個異常。

arg游戲
消息
robot.libraries.BuiltIn。  register_run_keyword  圖書館 關鍵字 args_to_process =沒有 ,deprecation_warning = True (來源)

注冊“運行關鍵字”,使其可以正確處理參數。

注意: 這個API將改變在robotframework3.1。  使用 deprecation_warning = False 為了避免相關棄用警告。

  1. 為什么需要這個方法

關鍵詞內部運行其他關鍵字(通常使用 運行關鍵字 或者一些變異的內裝式)必須有參數的意思 內部執行關鍵字特別處理,以防止處理它們 兩次。 這樣做只是為了關鍵詞注冊使用這種方法。

如果注冊關鍵字名稱相同的任何關鍵字的機器人框架 可以使用標准庫,它沒有得到警告。 正常情況下 在這種情況下,除非有一個警告中使用關鍵字長 格式(例如MyLib.Keyword)。

關鍵字執行注冊關鍵詞可以進行管制模式下運行 如果他們有“名”論點的執行關鍵字的名字。

  1. 如何使用這個方法嗎

圖書館 是圖書館的名字注冊關鍵字在哪里嗎 實現的。

關鍵字 可以是一個函數或方法實現 關鍵字,或者實現關鍵字作為字符串的名稱。

args_to_process 需要的時候 關鍵字 是給出一個字符串,它嗎 定義了多少注冊關鍵字必須的參數 正常處理。 當 關鍵字 這是一個方法或函數, 信息是直接從它得到可變參數(指定 語法的 args”)不但是別人處理。

  1. 例子

from robot.libraries.BuiltIn import BuiltIn, register_run_keyword

def my_run_keyword(name, *args):
# do something return BuiltIn().run_keyword(name, *args)

# Either one of these works register_run_keyword(__name__, my_run_keyword) register_run_keyword(__name__, ‘My Run Keyword’, 1)

from robot.libraries.BuiltIn import BuiltIn, register_run_keyword

class MyLibrary:
def my_run_keyword_if(self, expression, name, *args):
# do something return BuiltIn().run_keyword_if(expression, name, *args)

# Either one of these works register_run_keyword(‘MyLibrary’, MyLibrary.my_run_keyword_if) register_run_keyword(‘MyLibrary’, ‘my_run_keyword_if’, 2)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM