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