2023拉

QTP参数化实例

上一篇 / 下一篇  2012-04-25 16:51:06 / 个人分类:QTP测试

   在当中,有时为了模拟真实效果,或者为了达到某种操作效果,那么势必要把脚本参数化。那么一般的针对输入 值的参数化或者select选择值的参数化,操作也比较容易,这里也不多说了,直接把固定值换成变量就可以。鉴于上个星期有两个朋友都问到了针对某个对象 的参数化,那么就来探讨一下针对对象的参数化。……
 
  例:
 
  Browser("专业网站:51Testing软件测试网")。Page("百度——全球最大中文搜索引擎")。WebEdit("wd")。Set "111"
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度——全球最大中文搜索引擎")。WebButton("百度搜索")。Click
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度搜索_111")。Link("菜111 的QQ家园")。Click
 
   在这个例子中,我们的目的是把这个link对象给参数化掉。这里直接把对象名参数化掉,肯定是不行的。因为我们知道识别对象依靠是这个对象在对象库中的 属性和属性值。而如果我们这里参数化成一个新的对象名,那么这个对象名是不存在于对象库中的,那么势必会造成在回放过程中不通过,报对象库中没有这个对象 的错误。所以我第一个想到的是先让这个link对象脱离对象库,让它不用通过对象库就能识别这个link对象,那么接下来只要直接换成变量就成功了。相信 大家都看到过帮助里对描述性编程的说明,通过把脚本改写成描述性编程的形式,可以让QTP在执行脚本时不要再去依赖对象库。直接把一些付有特征的属性和属 性值放到脚本中,就能执行相应的操作。所以我们可以先把上面脚本改写成:
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度——全球最大中文搜索引擎")。WebEdit("wd")。Set "111"
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度——全球最大中文搜索引擎")。WebButton("百度搜索")。Click
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度搜索_111")。Link("text:=菜111 的QQ家园")。Click
 
  这样表示后,再把这个对象在对象库中的记录给删掉。重新运行脚本后,脚本依旧能正确执行。那么接下来的操作就方便了,直接把相应的固值换成一个变量即可。我们来这么操作:
 
  Dim i
 
  i="菜111 的QQ家园"
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度——全球最大中文搜索引擎")。WebEdit("wd")。Set "111"
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度——全球最大中文搜索引擎")。WebButton("百度搜索")。Click
 
  Browser("软件测试专业网站:51Testing软件测试网")。Page("百度搜索_111")。Link("text:="&i)。Click
 
  到这里整个操作过程就完成了。其实这只是一个方法,相信大家肯定还有方法,希望大家能留言说说自己的看法。当然如果这个对象的对象名有一定规律的话,我们还可以考虑运用正则表达式的方法,也可以达到预期的效果。

TAG:

 

评分:0

我来说两句

Open Toolbar