《软件自动化测试成功之道》节选5 - 第三方控件的测试方法

本文介绍了DevExpress套件中XtraNavBar控件的自动化测试方法。由于常规测试工具难以识别此控件,文章提出了一种解决方案,即通过访问Groups属性并设置ActiveGroup属性来实现控件的有效控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《软件自动化测试成功之道》节选5 - 第三方控件的测试方法

http://www.china-pub.com/196509

XtraNavBarDevExpress套件中的一个控件,如图4.8所示界面中左边的控件。

 

 

 

在实际的测试项目中,我们发现测试工具不能很好地识别出该控件,录制下来的脚本如下所示:

procedure Test1;

  var w1 ,w2,I: OleVariant;

begin

  w1 := Sys.Process('NavBarNavigationPane').frmMain.WinFormsObject('navBarControl1');

  w1.Click(77, 281);

  w1.Click(79, 313);

  w1.Click(76, 348);

  w1.Click(88, 311);

可见脚本是位置敏感的,不能达到选择指定的某项的目的。下面介绍如何一步步解决这个问题。

我们首先通过查阅XtraNavBar控件所在的DevExpress套件安装后附带的帮助文档,了解控件的属性、行为。了解到该控件包含了GroupsActiveGroup的概念,帮助文档中还付了一副图来说明这些概念,如图4.9所示。

 

 

 

由此可见,XtraNavBarGroup用于包含每一项绑定具体功能的项(Group Element),类似于Outlook中的邮件箱、日历、联系人、任务等。而ActiveGroup则是代表了当前打开的,处于激活状态的组,用户可以选择其中的项。

TestComplete中用ObjectBrowser查看XtraNavBar控件,可以看到ActiveGroupGroups,如图4.10和图4.11所示。

 

 

 

 

在了解到上面的信息之后,我们就可以尝试利用ActiveGroupGroup属性,看能否达到控制XtraNavBar控件的目的。结果我们发现,通过访问Groups中的Item(代表组中的某项),然后赋值给ActiveGroup,就能自动展开指定的组,选择指定的项,如下代码所示:

procedure Test1;

  var w1 ,w2,I: OleVariant;

begin

  w1 := Sys.Process('NavBarNavigationPane').frmMain.WinFormsObject('navBarControl1');

  For I:=0 to w1.Groups.Count -1 do

  begin

    Log.Message(w1.Groups.Item_2[I].Caption);

    If VarToStr(w1.Groups.Item_2[I].Caption) = 'Notes' then

    begin

      //w1.Groups.Item_2[I].NavigationPaneVisible := true;

      //w1.Groups.Item_2[I].Expanded := True;

      w1.ActiveGroup := w1.Groups.Item_2[I];

    end;

  End 

end;

 

《软件自动化测试成功之道》节选5 - 第三方控件的测试方法

http://www.china-pub.com/196509

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值