翻譯|使用教程|編輯:莫成敏|2020-03-04 14:19:15.707|閱讀 1039 次
概述:本文介紹了如何在自動化測試中使用Java類,本文中的信息僅適用于桌面應用程序。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TestComplete是一款具有人工智能的自動UI測試工具,利用自動化測試工具和人工智能支持的混合對象識別引擎,輕松檢測和測試每個桌面,Web和移動應用程序。使用TestComplete,可以提高測試覆蓋率并幫助提供經過實戰考驗的高質量軟件。本文介紹了如何在自動化測試中使用Java類,本文中的信息僅適用于桌面應用程序。您可以從腳本中調用駐留在任何Java類中的例程。
要求
要檢查插件是否可用,請選擇File | 從TestComplete主菜單安裝擴展,然后在隨后的對話框中搜索插件。如果該插件不存在,請重新安裝TestComplete。
通過JavaClasses對象調用Java例程
您可以使用該JavaClasses對象訪問Java類及其方法和屬性。設置如下:
1、指定Java虛擬機的模塊。
為了使腳本引擎能夠調用Java類的函數,您應該指定將用于承載這些類的Java虛擬機模塊。為此,請使用“Java Bridge選項”對話框。要調用該對話框,請選擇Tools | Options。從主菜單中選擇選項,然后選擇引擎 | 顯示在結果“選項”對話框左側的樹中的Java Bridge。該對話框包括Java虛擬機模塊位置選項,該選項使您可以指定Java虛擬機模塊所需文件的路徑。
2、使該類可用于腳本引擎。
為此,請將所需的類添加到項目的Java Bridge設置組的列表中。該組包含Java類列表,這些Java類的功能可通過JavaClasses對象和這些類的路徑供腳本使用:
添加到Java Bridge選項中的類在腳本中可用作JavaClasses對象的子對象。特定類中定義的類型又是類節點的子對象。與類型相對應的對象提供對在此類型中定義的子類型,靜態成員和構造函數的訪問。所有可用的類、類型和類型成員都顯示在“代碼完成”窗口中:
要從腳本中調用特定方法,請使用以下語法:
JavaClasses.package.class.subclass.method(parameters)
作為參數傳遞的簡單數據類型(例如字符串、整數、布爾值)將自動轉換為適當的Java類的實例。僅當對象類型的參數是java.lang.Object的后代時才可以將其傳遞給Java Bridge。否則,將發生類型不匹配錯誤。
如您所見,包名和類名(以及子類名)必須由點分隔。另外,請注意,包名稱中使用的點必須用下劃線字符替換。
上面的語法使您只能調用Java類的靜態成員。為了在腳本中使用非靜態方法和屬性,您應該首先通過調用類構造函數或創建新類實例的靜態成員來創建所需類的實例。
注意:通常,Java構造函數的名稱與其所屬類的名稱相同。一個類可以具有任意數量的構造函數,并且它們的名稱相同。為了避免命名沖突,TestComplete將這些方法的名稱更改為newInstance。因此,類構造函數將具有以下名稱:newInstance, newInstance_2, newInstance_3,等等。
您可以以與其他對象相同的方式處理Java類的方法和屬性返回的對象。某些值類型實例(例如數字和布爾值)是OLE兼容的,可以直接在腳本中使用。為了使字符串、小數、日期時間對象、枚舉值和數組OLE-兼容,TestComplete增加了一個特殊的OleValue屬性給他們。要使用結構和引用類型(字符串和數組除外),請使用它們的內部屬性和成員。
通過JavaRuntime對象調用Java例程
對應于Java應用程序的所有進程對象都具有JavaRuntime方法,該方法提供對Windows進程中存在的Java虛擬機的訪問。JavaRuntime方法返回的對象是所需Java虛擬機的java.lang.Runtime類的實例。該對象包含與java.lang.Runtime相同的屬性和方法,以及TestComplete提供的特定屬性。對象的JavaClasses屬性提供對Java應用程序中定義的包和類的訪問。
JavaRuntime.JavaClasses屬性與JavaClasses對象相似,并且用于通過調用類成員JavaRuntime的語法類與使用JavaClasses對象時使用的語法相似:
Sys.Process("MyJavaApp").JavaRuntime.JavaClasses.package.class.subclass.method(parameters)
同樣,要調用非靜態方法或屬性,您應該首先使用類構造函數或特殊的靜態成員創建類實例。
JavaRuntime.JavaClasses與JavaClasses對象相比,該屬性的優點在于,它使您可以創建應用程序類的實例,而不必將這些類添加到項目的Java Bridge選項中。
處理Java應用程序中發生的異常
TestComplete允許捕獲和處理Java應用程序代碼中發生的異常。您可以使用標準腳本語句來捕獲這些異常,例如try…catch和其他。
TestComplete自動捕獲在測試Java應用程序時發生的異常,并以以下格式返回其描述:
Exception Type: Exception Cause
例如,當被測Java應用程序檢測到零-時,將發生以下異常java.lang.ArithmeticException: / by zero。
局限性
如果使用-verbose或-verbose:class命令行參數啟動了測試的應用程序,則TestComplete無法訪問Java對象的內部方法和屬性。因此,如果您嘗試訪問Java對象的JavaVMCount或JavaVMVersion屬性,并且使用這些命令行參數之一啟動了經過測試的應用程序,則會發生錯誤。
本教程人內容就是這樣了,希望對您有所幫助~您可以下載TestComplete試用版嘗試一下,可以試一下文章使用的方法哦~
相關內容推薦:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: