多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

关于QTP的测试对象的进一步改进-自动化测试

更新时间:2022-05-27 09:03:10 作者:多测师 浏览:23

  这里的改进主要是针对完全的手动开发qtp自动化测试脚本而言的,对于录制后简单的修改并不使用。在功能的自动化测试中,测试对象是基础,为了提高测试对象的高度可复用性以及便于日后的升级和维护,我们应该使用尽量少的属性去标示出这个对象,例如:创建一个JavaWindow对象:

关于QTP的测试对象的进一步改进-自动化测试

  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))

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

  以上内容为大家介绍了自动化测试中的关于QTP的测试对象的进一步改进,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部