翻譯|使用教程|編輯:莫成敏|2020-03-12 13:00:50.633|閱讀 485 次
概述:本文介紹如何在自動化測試中使用.NET類。在TestComplete中,您可以從腳本中調用駐留在任何.NET程序集中的例程。該程序集可以與.NET Framework或第三方.NET應用程序一起提供。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
TestComplete是一款具有人工智能的自動UI測試工具,利用自動化測試工具和人工智能支持的混合對象識別引擎,輕松檢測和測試每個桌面,Web和移動應用程序。使用TestComplete,可以提高測試覆蓋率并幫助提供經過實戰考驗的高質量軟件。
在TestComplete中,您可以從腳本中調用駐留在任何.NET程序集中的例程。該程序集可以與.NET Framework或第三方.NET應用程序一起提供。
要求
如果您在訪問.NET類時遇到問題,請選擇“文件”|“其他”。從TestComplete主菜單安裝擴展,然后檢查是否啟用了.NET類支持功能。
通過dotNET對象調用.NET例程
您可以使用特殊dotNET對象訪問.NET程序集、類型和類型成員。
配置項目的CLR橋設置
通過dotNET對象從.NET程序集調用例程:
1、使程序集可用于腳本引擎。
將所需的程序集添加到項目的CLR Bridge列表中。此列表包含.NET程序集,其功能可通過該dotNET對象供腳本使用:
注意事項:
2、指定托管過程的類型。
TestComplete將.NET程序集加載到幫助程序托管進程tcHostingProcess.exe中。TestComplete可以同時使用32位和64位程序集,并且托管進程的位數必須與程序集的位數匹配。否則,TestComplete將無法將程序集加載到托管進程。
程序集托管過程設置的“首選”體系結構定義了托管過程的位數??赡艿闹禐椋?/span>
注意事項:
3、指定調用線程的類型。
若要指定調用線程的單元模型,請使用屬于項目屬性的CLR Bridge組的調用線程設置的“首選單元”模型??赡艿闹禐椋?/span>
從.NET程序集調用例程
添加到CLR Bridge選項的程序集在腳本中可用作該dotNET對象的子對象。在特定程序集中定義的類型又是程序集節點的子對象。與類型相對應的對象提供對在此類型中定義的子類型,靜態成員和構造函數的訪問。
“代碼完成”窗口顯示所有可用的程序集,類型和類型成員:
調用.NET類的靜態成員:
dotNET.namespace.class.subclass.method(parameters) dotNET.namespace.class.subclass.property(parameters)
TestComplete自動將您作為參數傳遞的簡單數據類型(例如字符串、整數和布爾值)轉換為.NET兼容值。
僅當對象類型的參數是System.Object該類的后代時,才能將其傳遞給CLR Bridge引擎。否則,將發生類型不匹配錯誤。
使用點將名稱空間和類名稱(和子類名稱)分開。用下劃線字符替換名稱空間名稱中使用的點。
調用非靜態成員:
首先,通過調用類構造函數或創建新類實例的靜態成員來創建所需類的實例:
dotNET.namespace.class.zctor() dotNET.namespace.class.zctor_2(parameters)
注意:通常,類的構造函數名稱為_ctor()。一個類可以具有多個構造函數(_ctor()、_ctor2()、_ctor3()等。但是,在VBScript中,標識符不能以下劃線(_)開頭。因此,為使_ctor方法與VBScript兼容,TestComplete用z方法名稱中的字母替換前導下劃線字符。例如,要調用該_ctor3方法,請使用zctor_3。
通過應用程序域調用.NET例程
對應于.NET應用程序的所有過程對象都具有AppDomain方法。該方法提供對應用程序域的訪問。AppDomain方法返回的對象是.NET AppDomain對象的包裝器。
TestComplete dotNET向基礎.NET AppDomain對象添加一個額外的屬性。該屬性提供對在應用程序中定義的類和在加載到應用程序域中的程序集中定義的類的訪問。
注意:該dotNET屬性還提供對mscorlib.dll程序集中聲明的所有類的訪問。
通過AppDomain調用類成員:
Sys.Process("MyProcessName").AppDomain("AppDomainName").dotNET.namespace.class.subclass.method(parameters) Sys.Process("MyProcessName").AppDomain("AppDomainName").dotNET.namespace.class.subclass.property(parameters)
調用非靜態成員:
首先使用類構造函數或特殊的靜態成員創建一個類實例(請參見上文):
Sys.Process("MyProcessName").AppDomain("AppDomainName").dotNET.namespace.class.zctor() Sys.Process("MyProcessName").AppDomain("AppDomainName").dotNET.namespace.class.zctor_2.(parameters)
AppDomain.dotNET與dotNET對象相比,該屬性的優點在于,您可以創建應用程序類的實例,而無需將應用程序程序集添加到項目的CLR Bridge列表中。
如果需要創建.NET對象以將其作為參數傳遞給應用程序例程,建議您使用應用程序域來創建該對象。這樣,如果您的計算機上安裝了多個.NET Framework版本,則可以避免兼容性問題。
本教程內容較多,分為上下兩篇文章,想要了解該教程下半部分,請繼續關注我們慧都網~您也可以下載TestComplete試用版免費評估~
相關內容推薦:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: