原创日志转载请标明出处与连接! 大家的支持是我的动力!_______卢晨之 (luchenzhi@21cn.com/@hotmail.com)

【如何做好.net自动化测试】2

上一篇 / 下一篇  2009-11-08 23:30:09 / 个人分类:QTP

续上:http://www.51testing.com/index.php?uid-174770-action-viewspace-itemid-18367551Testing软件测试网x#cY'un2O6UjL

七、      实例51Testing软件测试网Z'A MX5I_3[}

    透过上面与大家分享的理论知识,现在我们先挑个“软柿子”捏捏,这个就是SwfTable。我们打开QTP的帮助文档,看到文档中正好提示支持这个控件,DevExpressXtraGrid。如果使用这个控件,你或许会发现某些Table的方法它是不支持的,因为QTP没封装得很彻底的缘故。51Testing软件测试网-Y^;eOA9ow W!V:F6^ ~

1,            我们添加这某个Table进对象库,而我们Spy出来的typeDevExpress.XtraGrid.GridControl这个控件。51Testing软件测试网/Yyx.|3fg

2,             使用.net Windows Forms Spy,查看这个对象,或者查看源代码与网上搜索相关代码,不难发现这个对象下面有一个MainView或者Views的对象,它就是存放了大部分对象的一个“容器”。而我们在API中看到,这个MainView其实包括了3View类型:GridViewCardViewTreeView

kR/g0[zE.yxQa sX0

3,             而我们通过下面代码获取这个View是属于什么类型:

7hvP1iLdLt6Ta$R0

Swfwindow().swfTable().Object.MainView.getType.name

UJ+ijH3g3t8tC z$J0

4,             到这里,你如果看到的这个View类型是属于CardView,那么QTP.net插件51Testing软件测试网9Gh.})],XM5c%h1g W0e

是没有封装这个的,它只封装了GridView。而CardView的最大特点就是Colum变成了Row,而Row变成了Colum.

`j$^pu.@`0l0

5,     所以我们需要再一次把CardView这个View类型的方法与属性封装出来。

"d'P$]E+{g0

Public function GetCellPorp(SwftableObj,Row,Colunm,PropertyName)

Ot+?NA0

  View=SwftableObj.Object.MainView.getType.name

f'q0]U1bEJ%s#Vq@0

  Select Case View51Testing软件测试网y"YY5J^hg9X{

  '由于QTP支持了这个对象的方法,我们就直接使用它方法,如果还想

2~Ms#Di#bir0

  Case "GridView"51Testing软件测试网/^ z4B|ol.Q i9x(I

    GetCellPorp=SwftableObj.GetCellProperty(Row,Colunm,PropertyName)

4EMt{;\8g TD5j0

  Case "CardView"

Qif}R:VM0

    'CardView的特点就是Columnrou相反,但为了更好的使用,我们需要在封装的时候再倒过来,让它适合我们的感知。

t,Z:e4J E:a+B-_0

    '再往下,我们需要分析出这个RowColumn的值,是字符串或是数字,如果是字符串需要做循环找出这个Column对象或者rowhandle51Testing软件测试网 Op-i Ki-l

    'Code省略51Testing软件测试网;~ U[!` k L8z W

    51Testing软件测试网CN|3z.j3R D:yM

     '接着我们需要在这个封装中添加进我们的PropertyName传参类型的分类51Testing软件测试网5H"J UI,nb+Bwb

           Select Case PropertyName

(U9uai:^e0

           Case "Value"51Testing软件测试网ADl;` P#p

           'Code省略

#R0t vb8Zt*frWG0

           Case "Colname"51Testing软件测试网H j8].z3r/Iq1U4q

           'Code省略51Testing软件测试网d2G:wI x,K

    End Select51Testing软件测试网pH.D2FzNG~

    Case "TreeView"51Testing软件测试网 `L1mA!o w

           'Code省略

{]'|'[fk:P xA0

  End Select51Testing软件测试网"H?a"t4{M1U

End Function 

^ l+}HY]]0

八、      结语

#Z0?)r]H1bAY/M0

      熟悉web自动化的人,觉得Web很简单,也很好做,因为我们够了解它,也能很轻松了解到它的构造,能够得心应手的操作它。但面对一个CS程序,完全的看不到代码和不了解的黑盒子,不了解它是如何运作的情况下,让我们觉得CS的自动化离我们太远了,希望读完这个文章能让您有所收获。51Testing软件测试网KWbR5k,P.W#[

   学习自动化测试是一个很漫长的过程,从理论到工具再深造理论再脱离工具的一个过程,除了项目进度关系要求使用工具外,我们应该多研究这个QTP是如何实现的,脱离它才是我们需要得到本事,试着去了解Window或者其它操作系统后台工作原理,离开了工具,你也能造出车来,这也是我们能在工作与项目组中处于不可替代的位置。51Testing软件测试网|v e%B+f

   如何更好的做好.net的自动化测试,还有很多需要探讨与研究的。欢迎大家加我MSN:Luchenzhi@hotmail.com

Pnp%}4V7~ vKDB0

TAG:

My dream的个人空间 引用 删除 minmin848   /   2009-11-09 11:09:32
收藏
 

评分:0

我来说两句

Open Toolbar