让漆黑之眼注视着那微弱的光芒,挣扎却依旧顽强!

QTP学习心得8

上一篇 / 下一篇  2010-11-29 17:18:12 / 个人分类:QTP知识浅谈

1QTP无法录制下拉菜单的解决方法

QTP默认录制方式是无法录制下拉菜单的,必须修改设置后再录制;修改设置如下:       tools -> web event recording configuration点击custom settings...展开Web objects       选种webelement,点击event -> add -> onmouseover。并确定在record栏内,状态是enabled       然后再重新录制脚本;执行录制后的脚本,发现无法回放成功,这是因为脚本只录制了鼠标的onmouseover事件,却没有录制click事件,所以脚本录制完后要手动添加click事件。

如图所示:

 

2、无法识别控件的解决方案

1)更改QTP自身对某控件的识别方式,在tools——Object Identification中。在这里列出了所有QTP能识别的控件,以及控件的识别方式。你可以给他添加XY坐标进行识别。或更明显的,列表中的信息,不按名称识别,而是按ID识别。这个修改可以解决一些问题;
2)使用虚拟物件,来定义一个控件,在tools——Virtual Object中。在这里可以自定义一个控件。例如在ASP的程序中,程序出错,在客户端的表现形式大部分是一样的,可以把整个错误页面当成一个控件来识别(感觉不错)。如果加一个判断,出错后想做什么就由你自己定了。
 
3)使用低级录制或鼠标录制。用Test——LowLevelRecording/AnlogRecording,用它录制就不需要什么设置了,他会记录程序控件相对屏幕的位置。用LowLevelRecording还有代码可改,用AnlogRecording动作就被封装了(维护性极差)。两者因实际环境更取其长;


3、(1checkpoint的返回值

在一些特定情况下,脚本需要知道检查点是否通过,这时候就需要通过检验检查点的返回值来判断检查点是否通过;

代码是:Browser("Google").Page("系统账号管理").Check CheckPoint("系统账号管理")需要在check后面加一个(),使代码变为Browser("Google").Page("系统账号管理").Check(CheckPoint("系统账号管理"))并且在整行的前面加上一个变量(变量无需提前定义)如:a=Browser("Google").Page("系统账号管理").Check(CheckPoint("系统账号管理"))这样检查点的返回值就可以被a记录下来,那么就可以通过判断a的值来确定检查点是否通过;

2)关于文本检查点的参数化

在建立文本检查点后,参数化检查点,但是随着每次循环环境得不同,检查点得可能无法正确检查到文本,这种情况是因为检查点两边得限制条件发生变化的原因造成;解决这个问题,就需要对文本检查点的限制条件也进行参数化;

推荐网址:

http://hi.baidu.com/sunkitty1984/blog/item/6c359b1a5c5c53158618bf27.html

http://hi.baidu.com/%C7%ED%D0%A1%C2%BF/blog/item/c709c54e403382c1d1c86a5f.html

 

4、录制和测试运行设置

 

5、判断Excel中某列的值是否为空:

     DataTable(“列名”,dtLocalSheet)<>””


相关阅读:

TAG: QTP qtp

 

评分:0

我来说两句

Open Toolbar