靜態庫
方法(methods)直接映射為關鍵字名稱。關鍵字接受和方法相同的參數, 通過拋異常來 報告錯誤, 通過往標准輸出里寫入來寫 log, 同時可以通過return 來返回結果。
創建步驟:
▲ 首先,在D:\xxxxx\Lib\site-packages目錄下新建包名【比如MyLibrary】
▲ 其次,在__init__.py文件用於定義自定義庫的相關信息,需要用到的keywords調用繼承和聲明。
注意:類名必須跟創建的包名MyLibrary一模一樣,否則導入庫會失敗。
▲ 再次,在D:\xxxxxx\Lib\site-packages/MyLibrary目錄下新建version.py文件用於描述自定義測試庫的版本信息
▲ 最后, MyLibrary目錄下新建MyKeywords類文件,用於完成想封裝的各項功能方法,在函數定義文檔注釋用於導入RF框架,會顯示該庫的關鍵字文檔內容信息
RIDE中導入庫,用文件夾名字導入就行。
如果有多類需要引用,比如引用MyKeywords和MyTest1類,如下方法:
- 導入測試庫
- 可看測試庫信息
- 執行腳本
- 輸出結果
動態庫
RF的動態API方式,是利用get_keyword_names、run_keyword、get_keyword_arguments、 get_keyword_documentation四個固定名稱的方法來運行關鍵字。只要你創建的類有這四個方法(主要是前兩個),就可以讓RF識別關鍵字。
動態庫和混合庫定義版本信息和init文件方法是一樣,只是類文件封裝方法及機制處理不同。
- RF的動態API方式,是利用get_keyword_names、run_keyword、get_keyword_arguments、 get_keyword_documentation四個固定名稱的方法來運行關鍵字,只要你創建的類有這四個方法(主要是前兩個),就可以讓RF識別關鍵字。
-
get_keyword_names方法實際是告訴RF,我們的庫中有哪些關鍵字。RF會從get_keyword_names方法的返回值中讀取關鍵字名稱。
-
run_keyword方法則實際執行關鍵字對應的代碼。run_keyword第一個參數是需要執行的關鍵字的名稱,第二個參數是關鍵字的參數。
-
get_keyword_arguments方法告訴RF,每個關鍵字的參數是什么樣的。它的參數是關鍵字的名稱,返回值則是關鍵字的參數。
-
get_keyword_documentation方法告訴RF,每個關鍵字的說明文檔的內容。
導入庫后,查看信息如下圖所示:
混合庫
顧名思義,混合API方式是靜態API和動態API方式的混合使用。混合API方式,使用get_keyword_names方法告知RF關鍵字有哪些,但是不使用run_keyword方法執行關鍵字。執行方式和靜態API相同,執行和關鍵字同名的方法。
▲ 這個例子中,使用get_keyword_names方法告訴RF有“first_keyword”和"second_keyword"兩個關鍵字。其中 “first_keyword”關鍵字執行first_keyword方法的代碼。執行"second_keyword"關鍵字時,由於沒有對應的方法, 所以RF先執行“__getattr__”方法,然后獲取“__getattr__”方法返回的值。
▲ 注意:這里返回的值是一個可以被RF執行的方法(或函 數),而不是一個字符串。RF找到這個方法(或者函數)后,再執行代碼。
測試庫文檔
測試庫文檔其實就是代碼里的document注釋,通常用3個雙引號括起來,通常建議寫在代碼注釋,這樣有一個好處,RF提供了libdoc工具,可以很方便生成一份測試庫文檔,具體命令參考:
生成后的文檔樣本如下:
每次代碼更新,就同步更新document注釋,只需重新執行命令生成新的文檔即可,文檔可以直接為他人使用提供參考便利。
可以創建文檔:
- 測試庫實現 Python 或 Java 使用正常 靜態庫API,
- 測試庫使用 動態API ,包括遠程庫
- 資源文件 。
另外可以使用Libdoc創建的XML規范 作為輸入。
選項
- f , - - -格式 < html | xml > | |
指定是否要生成HTML或XML輸出。 如果不使用此選項,格式 擴展的輸出文件。 | |
- f , ——docformat <機器人其他html文本| | | > | |
指定源文件的格式。 可能的 值是機器人框架的文檔格式, HTML、文本和恰好。 默認值 可以指定在測試庫源代碼和 初始默認值 機器人 。 2.7.5新機器人框架。 |
|
- n , ——名字 <新名稱> | |
集的名字記錄庫或資源。 | |
- v , ——版本 <新版本> | |
集的版本庫或記錄 資源。 測試庫的默認值 從源代碼 。 | |
- p , ——pythonpath環境 <路徑> | |
額外的位置搜索庫 和資源同樣時 運行測試 。 | |
- e , ——逃避 <什么:> | |
轉義字符的問題在控制台。 什么 角色的名字逃脫嗎 和 與 是字符串來逃避它。 在列出可用的逃 ——幫助 輸出。 |
|
- h ,——幫助 | 打印這個幫助。 |
資源文件的路徑
資源文件必須使用指定的路徑。 如果路徑是 不存在,資源文件中所有目錄搜索 的 模塊搜索路徑 同樣當執行測試用例。
生成文檔
在HTML或XML格式生成文檔時,輸出文件必須 被指定為第二個參數后,圖書館/資源名稱或路徑。 輸出格式是自動從擴展但也可以設置 使用 - - -格式 選擇。
例子:
python -m robot.libdoc OperatingSystem OperatingSystem.html python -m robot.libdoc --name MyLibrary Remote::http://10.0.0.42:8270 MyLibrary.xml python -m robot.libdoc test/resource.html doc/resource_doc.html jython -m robot.libdoc --version 1.0 MyJavaLibrary.java MyJavaLibrary.html jython -m robot.libdoc my.organization.DynamicJavaLibrary my.organization.DynamicJavaLibrary.xml
查看控制台信息
Libdoc有三個特殊的命令在控制台上顯示信息。 使用這些命令輸出文件的名稱,而是和他們可以 也附加參數。
列表
- 列表的名稱關鍵詞庫/資源包含。 可以 限於只顯示某些關鍵詞通過可選模式 作為參數。 關鍵詞列出其名稱是否包含給定的模式。
顯示
-
顯示庫/資源文檔。 只能是有限的顯示嗎 某些關鍵詞通過名稱作為參數。 如果顯示關鍵字 它的名字匹配任何名字。 特別的觀點
介紹
將顯示 只有圖書館引進和導入部分。
版本
- 顯示庫版本
可選模式給 列表
和顯示
。 同時也接受 *
和 ?
作為通配符。
例子:
python -m robot.libdoc Dialogs list python -m robot.libdoc Selenium2Library list browser python -m robot.libdoc Remote::10.0.0.42:8270 show python -m robot.libdoc Dialogs show PauseExecution execute* python -m robot.libdoc Selenium2Library show intro python -m robot.libdoc Selenium2Library version