TestComplete中的Sys对象

评分 0, 满分 5 星(11 次阅读)
Loading...
添加评论

TestComplete提供一个叫Sys的对象来访问很多系统相关的对象和属性。

Clipboard
用于访问剪贴板的数据,或设置粘贴板的数据。

例如下面脚本把图像和文本放到粘贴板并且从粘贴板读出数据:

// 把窗口图像复制到粘贴板
Sys.Clipboard := Sys.Process('notepad').Window('Notepad', 'Untitled - Notepad', 0).Picture();
Log.Picture(Sys.Clipboard);
// 把文本复制到粘贴板
Sys.Clipboard := Sys.Process('notepad').Window('Notepad', 'Untitled - Notepad', 0).WndCaption;
Log.Message(Sys.Clipboard);
CORBA
Sys.CORBA对象让你可以访问本机或远程的计算机上的CORBA对象。
例如以下脚本访问某个CORBA对象:
var
IOR : OleVariant;
. . .
IOR := 'IOR:000000000000002149444c3...';
Log.Message(Sys.CORBA.DispObject[IOR].balance);

注意,目前TC只支持以下CORBA数据类型:
· CORBA::tk_char
· CORBA::tk_float
· CORBA::tk_double
· CORBA::tk_boolean
· CORBA::tk_string
· CORBA::tk_wstring
· CORBA::tk_objref
· CORBA::tk_octet
OLE对象51Testing软件测试网 B1U4z4i Z:C)T
用Sys.OleObject返回一个OLE对象。例如下面脚本返回Word对象:
Obj := Sys.OleObject('Word.Application');

Desktop
Sys.Desktop返回Windows桌面对象,从而让你可以获取或设置当前鼠标的坐标、获取截屏、获取一个激活的或焦点所在的窗体等。

例如下面脚本让鼠标水平移动50个像素点:
d := Sys.Desktop;(来源 www.pms.cc)
d.MouseX := d.MouseX + 50;

用Desktop.PictureUnderMouse返回以当前鼠标位置为中心的指定范围的图像。也可以用Desktop.Picture方法返回指定区域的屏幕图像。

用 Desktop.ActiveWindow返回当前最顶层的窗体对象(当前正在与用户交互的窗体),用 Desktop.FocusedWindow返回当前焦点所在的窗体。如果你知道某个窗体的Handle,还可以通过 Desktop.WindowFromHandle方法返回窗体对象。而用Desktop.ObjectFromPoint方法也可返回指定位置的对象。

用Desktop.KeyDown、Desktop.KeyUp或Desktop.Keys方法来模拟键盘按键,例如,下面脚本模拟用户按下CTRL+Esc键(显示开始菜单的快捷键):
Sys.Desktop.Keys('^[Esc]');

用Desktop.MouseDown和Desktop.MouseUp来模拟鼠标按键操作。

机器相关信息
通过Sys.DomainName返回当前机器所在的域。通过Sys.HostName返回机器名。通过Sys.UserName返回当前操作系统用户名。

Sys.CPU返回本机的CPU处理器的相关信息。返回信息包括CPU型号和频率。例如通过脚本Log.message(Sys.CPU)返回的信息类似如下:

Intel(R) Pentium(R) M processor 1.60GHz, Frequency: ~1600 MHz.  

另外还可以用Sys.CPUUsage返回当前操作系统和所有正在运行的进程的CPU时间的百分比。(注意,如果有几个CPU,则返回平均值。此属性只在Windows NT,2000和XP操作系统可用)用Sys.CPUCount返回本机的CPU处理的个数。(来源 www.pms.cc)

通过Sys.MemUsage返回当前操作系统和所有正在运行的进程使用的内存情况。

操作系统相关信息
通过Sys.OSInfo对象获取有关操作系统的各种信息,包括操作系统的版本、SP的版本、操作系统安装路径等。

还可以通过MediaCenter属性判断TC当前运行的操作系统版本是否是 Windows XP Media Cnter 版本的。通过TabletPC属性判断是否是在Windows XP Tablet PC版本下运行。通过VMWare属性判断是否是在VMWare虚拟机上运行。通过Windows64bit属性判断是否是在64位版本的操作系统下运 行。

通过NetCoreCount属性返回安装的不同版本的.NET Framework的个数,通过NetCoreVersion返回.NET Framework的名称,例如:
D q3p R:^0procedure TestProc;
Var
   inf : OleVariant;
   i : integer;
Begin
inf:=Sys.OSInfo;
For i:=0 to inf.NetCoreCount - 1 do
   Begin
    Log.Message( inf.NetCoreVersion( i ) );
End;
End;

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: TestComplete中的Sys对象
 
评分 3.0, 满分 5 星
Loading...