在TestComplete中操作COM端口
上一篇 /
下一篇 2007-09-25 10:27:10
/ 个人分类:TestComplete
"w6~G+JW'O&Kzi'U w0在TestComplete中操作COM端口51Testing软件测试网5M q}y/b:O:V*|
&Vj*EZrH0陈能技51Testing软件测试网kJ%].g@
MCT
2007-9-25
7Ran"uh"P4V051Testing软件测试网-J9E(P4y4U有些软件系统,尤其是一些工业自动化控制方面的软件,经常要使用到COM端口,用于读写外部数据。
5{(k;Qw\1o#N+o0CM4\0!_ X"F!DQ"~1{0TestComplete没有对这方面提供特殊的支持。但是可以利用Windows scrīpt Host来创建文件系统对象,用于操作COM端口。51Testing软件测试网 sX
~J%\x
51Testing软件测试网
dR1?*x
TE4t/t例如以下脚本:
4|
F!N!Aw4e?$B0procedure TestCOMPort;
`Or]:CI,]+W,O\H0var
zH/QA^
`0 fso, f, ForWriting, TriStateFalse : OleVariant;51Testing软件测试网`EBx?!| ^
begin51Testing软件测试网c1na:|3qP2V
ILa
ForWriting := 2;
5[0cJN{b0 TriStateFalse := 0;
`1x*O%jR J6N0 51Testing软件测试网0{6OT^].T'G G`
fso := Sys.OleObject['scrīpting.FileSystemObject'];51Testing软件测试网D4F^;z8e;h
f := fso.OpenTextFile('COM1:', ForWriting, false, TriStateFalse);
Oa(fb^iI9P0k0 // 往端口写数据51Testing软件测试网z0v)a,m.n GX:X
f.Write(26);51Testing软件测试网
JbZ6`:Ad w
f.Write(' ');
T{6oi
pG Z0 f.Write(Chr(27));
/p;P `Zt*Y*T0 f.Close();51Testing软件测试网?k+D!V@#Xp/E e#cT
end;51Testing软件测试网4^3zMh"UR&Xx2{
c+yVw2F!B0另外一个解决办法是利用.NET的类库。System.IO.Ports命名空间包含了用于控制COM端口的类。可以通过TC的dotNET对象来访问这些类。
,z)D'Fs@+j8~%Z051Testing软件测试网8O5qE)Nj/v!u}hT例如,下面脚本调用.NET的SerialPort类并生成实例对象,然后通过这个对象往端口发送数据和读取数据。51Testing软件测试网E/W+kHrXx+v.a?
'yP Na.AM5n0procedure Test;
T
zfKWnoC&~;[0var
F&` a7wr z8^0 Port, i, s : OleVariant;51Testing软件测试网I`Ly js*i
begin51Testing软件测试网\f1De]'o
Port := dotNET.System_IO_Ports.SerialPort.zctor_4('COM1', 9600);51Testing软件测试网:?8^(}Ja2w
"A'Kpv7L]
]0 Port.Open;51Testing软件测试网Q3?J] V/a_
// 往端口发送数据
)R[o6VOz.C0 Port.Write('A ' + Chr(27));51Testing软件测试网&X
f sN-@fF
// 等待响应
G Q3M IH eH0 BuiltIn.Delay(1000);
l|2QHV D(K,M0 // 处理响应51Testing软件测试网 z$s2xl8N${-U2F
if Port.BytesToRead <> 0 then51Testing软件测试网,d o
W"]}9Y@,WX
begin
mX9y4A-T lVX0 s := Port.ReadExisting;
P`1H1_J:jw0 Log.Message(s);
xc/w w$iGPXXk0 end
r*_ib&C{Euqw0 else51Testing软件测试网8ub"GE9rP
TZ#O
Log.Warning('No data');51Testing软件测试网4v&u[H)xk0Z!] x
Port.Close();51Testing软件测试网X5z2GZ9Ai)|.T
@x:p
end;51Testing软件测试网a
D$P:qX a
B {&GPLc%Kbs&~H@051Testing软件测试网_;D K%uN!u
*FNU.~ D0
相关阅读:
- 我们需要真正的脚本语言 (陈能技, 2007-9-22)
- 敏捷自动化测试 (陈能技, 2007-9-22)
- 武装你的测试 (陈能技, 2007-9-22)
- 网站链接自动化测试原理及工具介绍 (51testing, 2007-9-24)
- 实用主义测试员眼中的测试工具 (51testing, 2007-9-24)
- QTP常见问题解答一[转] (andycai, 2007-9-24)
- QTP常见问题解答二[转] (andycai, 2007-9-24)
- QTP常见问题解答三[转] (andycai, 2007-9-24)
- QTP常见问题解答四【转】 (andycai, 2007-9-24)
- 跟踪被测应用程序的事件和异常 (陈能技, 2007-9-24)
收藏
举报
TAG:
TestComplete
测试工具
COM