在RFT中如何通過指令碼獲取已新增到某個指令碼中的測試物件?
如何通過指令碼獲取已新增到某個指令碼中的測試物件?(已新增到指令碼中的測試物件在指令碼資源管理器中的測試物件節點下會列出來。)
下面的指令碼將列印Login指令碼中的測試物件的相關資訊:
Vector vector = new Vector();
vector.addElement (new Login());
Vector testScript = vector;
for(int i = 0; i < testScript.size(); i++)
{
if(testScript.elementAt(i) instanceof RationalTestScript)
{
RationalTestScript ts = (RationalTestScript)testScript.elementAt(i);
IScriptDefinition sd = ts.getScriptDefinition();
Enumeration e = sd.getTestObjectNames();
while(e.hasMoreElements())
{
String currentObjName = (String)e.nextElement();
String role = sd.getRole(currentObjName);
String mapID = sd.getMapId(currentObjName);
String curClassName = (String)ts.getMap().find(mapID).getClassName();
String objClassName = (String)ts.getMap().find(mapID).getTestObjectClassName();
System.out.println(role);
System.out.println(mapID);
System.out.println(curClassName);
System.out.println(objClassName);
}
}
}
輸出:
Button
B.JGKG3Ig8tvE:kFGtR:MFnGLmf:8WT
Html.INPUT.submit
GuiTestObject
Text
9.JGKG3Ig8tvE:kFGtR:MFnGLmf:8WU
Html.INPUT.text
TextGuiTestObject
Text
A.JGKG3Ig8tvE:kFGtR:MFnGLmf:8WU
Html.INPUT.password
TextGuiTestObject
其中使用getScriptDefinition 方法來獲取IscriptDefinition型別的物件,也就是指令碼相關的定義物件,其中就包含測試物件。
Persists the definition about the artifacts associated with the script as an object that implements this interface when the script is created or updated. Object-map information is maintained to improve the resilience of scripts relative to changes in shared object maps. Also, verification points and other assocatied artifacts are managed by the script definition interface.
再通過getTestObjectNames方法來獲取測試物件的集合。
Returns an enumerator for the TestObject names associated with a script. Each object returned by the enumerator is a java.lang.String value known to be unique relative to a script.
對於測試物件集合中的每一個元素,通過getRole方法來獲取測試物件的角色,通過getMapId來獲取測試物件的對映ID。
通過getMap可返回與測試指令碼關聯的物件對映(object map),再根據MapID,通過find方法查詢返回對映的測試物件,然後通過getClassName和getTestObjectClassName返回物件的型別以及測試物件類名。
相關文章
- 通過RFT命令列執行測試指令碼命令列指令碼
- 單個過程獲取指令碼指令碼
- 在RFT中如何獲取JTable中的所有資料?
- 批次過程獲取指令碼指令碼
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- 如何通過指令碼匯入master 庫中的user資訊指令碼AST
- TCL指令碼語言在測試系統中的應用指令碼
- ORACLE從資料庫中獲取已存在的TABPLESPACE及INDEX建立指令碼Oracle資料庫Index指令碼
- shell指令碼中如何報錯即刻退出以及如何獲取子shell指令碼的錯誤資訊:set -o errexit指令碼
- 9、在Shell指令碼中呼叫其他指令碼指令碼
- 透過hostname獲取IP的perl指令碼指令碼
- PowerDesigner中通過VBS指令碼修改模型資訊指令碼模型
- Shell指令碼中獲取SELECT結果值的方法指令碼
- 在Linux中,如何使用shell指令碼判斷某個服務是否正在執行?Linux指令碼
- 獲取單個檢視DDL指令碼指令碼
- 在ubuntu中查詢與某指令碼或某裝置相關的程序Ubuntu指令碼
- oracle獲取ddl指令碼Oracle指令碼
- Linux下在指令碼中獲取程式ID(PID)Linux指令碼
- 在Watir中呼叫JavaScript指令碼JavaScript指令碼
- 如何在webpack中獲取git版本和當前指令碼的工作目錄WebGit指令碼
- 如何在Shell指令碼中逐行讀取檔案指令碼
- 庫物件指令碼抽取指令碼物件指令碼
- Linux Shell指令碼中獲取本機ip地址方法Linux指令碼
- 獲取AWR的指令碼,可以在crontab裡面部署指令碼
- DBMS_METADATE.GET_DDL獲取物件DDL指令碼物件指令碼
- ftp命令在指令碼中的運用FTP指令碼
- 通過shell指令碼抓取awr報告中的問題sql指令碼SQL
- 通過shell得到資料庫中許可權的指令碼資料庫指令碼
- PowerShell 指令碼中的密碼指令碼密碼
- 如何通過簡單的shell指令碼操作MongoDB指令碼MongoDB
- 在shell指令碼中呼叫另一個指令碼的三種不同方法(fork, exec, source)指令碼
- 介面測試中獲取的 token 值如何通過 des3 加密輸出S3加密
- PYTHON測試指令碼Python指令碼
- 壓力測試指令碼指令碼
- [Mysql]效能測試指令碼MySql指令碼
- 在loadrunner中呼叫QTP指令碼QT指令碼
- 使用DBMS_METADATA.GET_DDL獲取物件的DDL指令碼物件指令碼
- QTP中如何快速獲取Page中的物件個數QT物件