TestComplete如何识别.NET对象

上一篇 / 下一篇  2007-09-20 22:08:21 / 个人分类:TestComplete

TestComplete如何识别.NET对象

G$? \2I(X!l-^(F0

 

{bL6in`i%UD+j0

陈能技51Testing软件测试网6]@ c-~x} v

2007-9-2051Testing软件测试网*YR!j@qP

 

X]2nk2L,br0

.NET语言编写的应用程序对于TC来说是“Open”的。本文介绍的访问.NET对象的方法适用于任何语言和工具编写的.NET程序,包括C#, Visual C++ .NET, Visual Basic .NET, J#, C#Builder or Delphi for .NET等。51Testing软件测试网5W2C]a Gy{

 

;d rW1X H0

所有的对象都可以划分为两大类:可见对象(窗体、控件等)和非可见对象。51Testing软件测试网;[8q,e@yc?9}|

 51Testing软件测试网#w1HQw#C

可见对象(Visual Objects

htY(f*Z#~p0

对于可见对象的识别和定位,原理大致与非“Open”的应用程序一样。

W WD*WB$v0

 

?oo2B4n!|D5|1Lr0

要想定位.NET应用程序的窗体对象,首先要用Sys.Process方法或Sys.WaitProcess方法获取窗体所在的进程对象。51Testing软件测试网fu8\ai+Sm$u

 51Testing软件测试网7NuM#cb/f"BB"Z

获取进程对象后就可以访问应用程序的Form,使用WinFormsObjectVCLNETObject来访问。通过WinFormsObject访问由Microsoft Windows Forms Objects library创建的对象,而VCLNETObject则用于访问由Borland VCL.NET library创建的对象。当然,就像进程一样,窗体相应地有WaitWinFormObjectWaitVCLNETObject方法。与WinFormsObjectVCLNETObject方法的区别在于它们会暂停脚本执行直到窗体出现或等待的时间到为止。51Testing软件测试网0@MI-{1Lgmk+y6x9f

 

{-L4vZ{/d0

WinFormsObjectVCLNETObject返回的对象包含的属性和方法与程序定义的属性和方法大体一致,但是TC可能会以特殊的方式支持。

b[ th&^J y3R0

 51Testing软件测试网$v Sc.P6R|K4P&I

WinFormsObjectVCLNETObject方法都有三种参数方式,例如WinFormsObject的参数定义有如下三种:51Testing软件测试网S+d{v y't~

ProcessObj.WinFormsObject(Name)

9Z8C%T4n@g2y-JAU0

ProcessObj.WinFormsObject(ClassNameWndCaption)

4J1Ga]+a9N7a PB?)L0

ProcessObj.WinFormsObject(ClassNameWndCaptionIndex)51Testing软件测试网;t3r:r/v2n)F;w vh*T

 51Testing软件测试网,p `{0n5s(Zx

非可见对象(Non-Visual Objects51Testing软件测试网W,\$k6\XH

对于应用程序中的一个对象,只要有其它对象保持着对它的引用,则会一致存在。为了识别非可见对象,你需要找到一个能返回对它的引用的对象(可见或不可见的)的属性或方法。51Testing软件测试网uB'zmK1q&f

 

%c?\"E;Bq(bA5\i0

另外,你也可以通过使用静态属性或方法来获得对象的引用,可以通过AppDomain.dotNET来访问。对于每一个.NET程序,TC都添加了一个AppDomain对象。这个对象与Microsoft .NET FrameworkAppDomain对象是基本一致的。通过以下方式定位静态类的方法和属性:

~#e\A ^-n0

 

}o*x~k0ib0

Sys.Process("MyApp").AppDomain("MyApp.exe").dotNET.namespace_name.class_name.property_name

G.vR5D8zC])[3q2F0

 51Testing软件测试网-o%e}$dt Dp!k

上面的dotNET属性让你可以访问在应用程序中定义的任何类,可以在脚本中创建类的实例。这在单元测试会很有用。51Testing软件测试网+]m o;D2X)^8Z

 

Xepb6u0g Q0

TAG: TestComplete 自动化测试 测试工具 对象识别

 

评分:0

我来说两句

Open Toolbar