《软件自动化测试成功之道》节选6 - 自定义控件的测试方法
http://www.china-pub.com/196509
NavigateBar控件类似如图5.1所示的控件,类似于前面章节讲到的第三方控件XtraNavBar。但是程序员对这个控件进行了再次的封装,因此是一个自定义的控件。
NavigateBar是构成该系统主界面的重要控件之一,如果该控件在自动化测试方面提供的接口、可测试性不够充分的话,将极大地影响自动化测试的开展。因此,我们在自动化测试开发的早期就找了程序员,要来这个控件,仔细研究它的各种测试接口和可利用的属性。
我们发现录制的脚本如下所示:
w2 := w1.WinFormsobject(‘pnlMain’).WinFormsObject(‘NavigateBar’,’’,3);
w2.WinFormsObject(‘NavigateBarButton’,’’,4).Click(61,20);
w2.WinFormsObject(‘NavigateBarButton’,’’,5).Click(60,21);
w2.WinFormsObject(‘NavigateBarButton’,’’,6).Click(63,16);
实际上,点击方法后面的坐标信息是可以去掉的,可修改成:
w2 := w1.WinFormsobject(‘pnlMain’).WinFormsObject(‘NavigateBar’,’’,3);
w2.WinFormsObject(‘NavigateBarButton’,’’,4).Click();
w2.WinFormsObject(‘NavigateBarButton’,’’,5).Click();
w2.WinFormsObject(‘NavigateBarButton’,’’,6).Click();
通过研究,我们发现还可以采用下面的方法,其好处是:即使NavigateBarButton当前是隐藏的,也可以激活并展示出来:
w2 := w1.WinFormsobject(‘pnlMain’).WinFormsObject(‘NavigateBar’,’’,3);
w2.SelectedButton := w2.WinFormsObject(‘NavigateBarButton’,’’,4);
w2.SelectedButton := w2.WinFormsObject(‘NavigateBarButton’,’’,5);
w2.SelectedButton := w2.WinFormsObject(‘NavigateBarButton’,’’,6);
其方法是把NavigateBar控件中表示当前处于激活状态的组的属性SelectedButton,赋值为某个NavigateBarButton。上面的脚本还可以封装成一个公用的函数,传入需要选择的项,例如“基础数据”,然后该函数负责把该项激活并展现出来:
For I:=0 to w2. NavigateBarButtons.Count -1 do
Begin
If VarToStr(w2. NavigateBarButtons.Item[I].Caption) = ‘基础数据’ then
Begin
w2.SelectedButton := w2. NavigateBarButtons.Item[I];
End;
End;
注意:VarToStr 很重要,否则如果直接用w2. NavigateBarButtons.Item[I].Caption = ‘基础数据’,则永远返回False。
《软件自动化测试成功之道》节选6 - 自定义控件的测试方法
http://www.china-pub.com/196509