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

17727591462

联系电话

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

初学QTP的一点总结-自动化测试

更新时间:2022-05-25 09:06:10 作者:多测师 浏览:93

  QTP自动化测试工具有三种编程方式:

  非描述性编程、纯描述性编程和description描述性编程。

  非描述性编程:模拟用户操作,保存操作对象到对象库,测试脚本运行时从对象库查找对象,找到后,对对象执行某种动作的过程。

  纯描述性编程:描述唯一识别对象的属性值,保存脚本时,对象被保存到临时文件,测试脚本运行时从临时文件中查找对象,找到后,对对象执行某种动作的过程。该方法增强了测试对象的灵活性和重用性。

  Description描述性编程:当对象库中找不到指定对象时,或相同属性的对象存在二个或二个以上,无法精确定位到目标对象时,可采用description描述性编辑,描述对象独有的属性值(比如使用:index0,index1,index2…..方法定位到目标对象,index0表示找到第一个符合条件的对象)。

初学QTP的一点总结-自动化测试

  Qtp脚本开发工具和其他开发工具的共同点和异同点:

  共同点:按照面向对象的开发思想和方法,可以对常用对象及操作(如login, exit, DBConnection Methods)封装成Function或sub,调用Function方法的函数名实现目标方法。

  异同点:QTP有以下特有的函数方法:

  Datatable方法:实现对象的参数化功能。

  1. 使用GetRowCount Method得到参数的行数。

  2. For循环语句控制运行次数。

  3. 循环结束时,使用GetRowCount Method当前行数+1,第二次循环获取第二行参数值。

  4. 对象可以用一个变量a替换,将Datatable的参数赋值给变量a,需要参数化的对象位置输入a即可。

  使用例子如下:

  pic=datatable.Value(”宝贝图片“,”Global”)

  browser(”CRM登录页面“).Dialog(”选择文件“).WinListView(”SysListView32″).Select pic

  注意:变量不能带引用

  Webtable方法:

  1.GetRowWithCellText:返回text内容在第几行

  2.GetCellData:根据行和列返回参数值

  使用例子如下:

  a=datatable.Value(”B”,”Global”)

  rownumber=browser(”淘我喜欢“).Page(”淘我喜“).WebTable(a).GetRowWithCellText(names,2)

  status=browser(”淘我喜欢“).Page(”淘我喜欢“).WebTable(a).GetCellData(rownumber,4)

  3.先找对象之间的关联关系,根据一个属性的属性值,找到目标对象或目标属性值,进行目标动作。

  GetROProperty方法:得到脚本运行时的对象属性值,访方法经常和条件判断语句结合使用使用场景的例子如下:

  1. 如需校验界面信息是否为期望值时,先得到对象的属性值,然后与另一个参数值进行比较,相同返回pass,不相同返回fail。

  2. 某些对象属性是动态变化的,当对象a的状态为true时,对象B的状态是true,反之为flase;运行flase状态的对象脚本将会抛错,因此需要基于当时的情况,决定下一步执行怎样的操作。

  StrComp function方法:比较二进制或text格式字符串的长度。校验界面值时很有用哦,有时经常遇到显示看起来一致,但实际存在数据类型和前、后空格的差异,使用该方法会返回比较结果值。该函数语法请查看QTP帮助文档。

  还有很多很多的方法需要了解,因为时间关系大概知道这些。

  只需了解方法的用处,相似方法之间的区别,函数语法记不往没大关系,脚本开发过程中查帮助文档很管用的。

  掌握排错方法也很重要,只要是人写的代码,都有出错的可能,很难达到机器的精确度,出了问题学会排查问题:

  1. 学会使用检错和单步调试定位问题。

  2. 调试时,指定当前行开始运行,运行到当前行结束。

  3. 根据需要设断点,切换到脚本编辑器下方的debug viewer-variables窗口,查看测试运行时输出的参数值。

  Object repository manager工具:

  1. 对象文件的合并,为了实现对象的统一管理,所有测试脚本均使用一个对象文件,有利于提高脚本的编写和维护效率。如果有多个对象文件,容易造成对象文件混乱,分不清用到的对象到那个对象文件查找。

  2. Vbs对象和脚本对象的区别,vbs函数本身不带对象,函数调试时,将函数文件拷贝到测试脚本中,使用的是测试脚本的对象,而非函数的对象。因此FUNCTION函数页面,找不到测试脚本中定义的对象。

  3. 对象库有啥用处?用于保存对象信息。

  4. 每个对象都有唯一识别对象的属性,Object Spy工具用于观察运行时测试对象的属性和方法。

  5. 非描述性编程方式,模拟用户操作,保存操作对象到对象库,保存后的对象可以手工挪动位置,但是目标上层对象的属性和原上层对象的属性不一致时,不能合并,如果合并将出现 browser().page()下面的对象识别不到,脚本运行时,将提示测试对象未定义信息。

  Function library和Function defineition generator的区别:

  1.Function library:把函数保存到QTP能够解析的Vbs文件中,测试脚本开发时,调用函数名即实现函数方法。

  2.Function defineition generator:通过该工具生成函数脚本模板,插入到测试脚本中使用,和调用函数的效果是一样的。生成器生成的函数模板如下:

  ‘@Description登录我的淘宝

  Public Function login

  ‘TODO: add function body here

  —增加对象及操作脚本

  End Function

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

联系电话

17727591462

返回顶部