TestComplete测试DevExpress控件

最近有个网友求救,说在用 TC 测试第三方 Delphi 控件 - DevExpress ExpressNavBar 时碰到不可识别和控制的问题。

 

录制的脚本如下:

procedure Test2;

  var p1 : OleVariant;

  var w1 : OleVariant;

  var w2 : OleVariant;

begin

  p1 := Sys.Process('Project1');

  w1 := p1.frm_Main;

  w1.Click(171, 17);

  w2 := w1.dxNavBar1;

  w2.Click(94, 9);

  w2.Click(48, 62);

  p1.Window('TMessageForm', 'Project1').OK.ClickButton;

end;

 

可以看到对控件的点击依赖坐标,因此需要修改,方法如下:

P:= Sys.Process('Project1').VCLObject('frm_Main');

  Navbar:= Sys.Process('Project1').VCLObject('frm_Main').VCLObject('dxNavBar1');

  // 先激活组,再调用窗口类中的 dxNavBar1LinkClick 事件,传入要选择的 Links 对象

  Navbar.ActiveGroup := Navbar.Groups.Items[1];

  P.dxNavBar1LinkClick(nil,Navbar.ActiveGroup.Links[1]);

 

也可以直接传入 Links 对象 , 但是这种办法无法在界面上看到展开 Group 的效果:

P.dxNavBar1LinkClick(nil,Navbar.Groups.Items[0].Links[0]);

 

 

 

你可能感兴趣的:(TestComplete测试DevExpress控件)