关于QTP的测试对象的进一步改进

发表于:2009-4-22 15:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:yangzhengjiang    来源:51Testing博客

  这次是在上次写的文章“关于qtp测试对象”(地址:http://www.51testing.com/html/80/n-118880.html )的基础上的进一步讨论,这里的改进主要是针对完全的手动开发qtp自动化测试脚本而言的,对于录制后简单的修改并不使用。在功能的自动化测试中,测试对象是基础,为了提高测试对象的高度可复用性以及便于日后的升级和维护,我们应该使用尽量少的属性去标示出这个对象,例如:创建一个JavaWindow对象:

set win = description.Create

win("class description").value = "window"

  这样就足可以来表示出给对象了,但是当有多个JavaWindow对象对象同时存在时,这样创建时明显有问题的,这时我们就不得不再去增加一个title来识别出每一个不同的JavaWindow对象了,但是如果我们直接把title属性写入到代码中,这样在升级版本或客户要就修改标题后,我们就不得不去相应的到我们的代码中去修改这个标题,在一个大型的项目中会有很多地方需要去修改,这样既不容易该全,也很麻烦。解决办法:

get the JavaWindow object

function getWindowByTitle(title)

   set win = description.Create

   win("class description").value = "window"

   win("title").value = title

   set getWindowByTitle = win

end function

*********************************************

test.txt --this is the configure file

#the login dialog

TITLE="backup express 3.1"

*********************************************

this function get the value by name

Function getText(name)

 Dim fso,cPath,f
 
 cPath = "E:\javaGui.txt"
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set f = fso.OpenTextFile(cPath,1,False)
 
 Do While Not f.AtEndOfStream
 
  str = f.ReadLine()
  If Not InStr(str,"#") > 0 Then
 
   tmpArr = Split(str,"=",-1,1)
   If StrComp(tmpArr(0),name) = 0 Then
    getText = tmpArr(1)
    Exit Do
   End If
  End If
 Loop
 
 Set f = Nothing
 Set fso = Nothing

End Function

*******************************************

qtp script. code

JavaWindow(getWindowByTitle(getText(TITLE))

  我们都知道,在软件开发中,界面上显示的文字,都是属于软件的资源而已,是不会写入到代码中去的,而是配置中软件的资源文件中而已,那在我们开发测试脚本的时候,同样这些具体的用于识别集体对象的属性不过也是属于一种资源而已,我们同样可以把这样资源写到我们的资源文件中去配置,这样当修改修改时,我们同样只需要去维护一份或几份资源文件而已,而不需要去到代码中去修改,这样大大增加了我们代码的可维护性。写一个简单的例子程序,来说明这个问题:

  这里只是一个简单demo,在实际使用中我们可以按照这种思路去开发自己的测试脚本。

  以上仅是我自己的一点想法,欢迎大家讨论。

版权声明:原创作品,转载时请务必以超链接形式标明文章原始出处作者信息本声明,否则将追究法律责任。本文出自yangzhengjiang的51Testing软件测试博客:http://www.51testing.com/?174344
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号