搜集QTP

上一篇 / 下一篇  2011-10-14 11:46:10

1、下拉菜单不能回放的解决方法

在录制时,比如打开记事本,点击下拉菜单 "文件"-->"退出";

回放时会出现 object not visible ;

windows("记事本").click 193,117

windows("记事本").winmenu("ContextMenu").Select "文件:退出"

QTP默认录制方式是无法录制下拉菜单的,必须修改设置后再录制

修改设置如下:

在tools -> web event recording configuration 点击custom settings... 展开Web objects,

选种webelement,点击event -> add -> onmouseover 。并确定在record栏内,状态是enabled。

然后再重新录制你的脚本。

执行录制后的脚本,无法回放成功,这是因为脚本只录制了鼠标的onmouseover 事件,却没有录制click事

件,所以脚本录制完后要手动添加click事件。

 

Pasted from <http://www.51testing.com/?uid-165528-action-viewspace-itemid-100485>

 

2 多Action的问题

2.1 为什么会使用多个Action

A问题描述:

在录制脚本的时候通常会遇到这种情况,一个步骤需要反复执行,但是其他步骤不需要跟着执行,就比如添加信息,一般分为登陆,添加,退出,这三步,只有添加这个步骤是需要重复执行的,登陆和退出不需要重复执行

B解决办法:

这个时候就需要用到多个Action调用的方式

 

2.2 Action调用的设置

A问题描述:

在决定使用多个Action调用之后需要对整个脚本有一个划分,解决这个问题,在录制脚本之前,先要对脚本进行划分,还是以添加信息为例,划分成三步,登陆,添加,退出,其中添加是主要部分而登录和退出是次要部分,分别对主要部分和次要部分作相应的设置,就能达到你的要求

B处理流程:

B1分别将登陆,退出录制成为单独的Action并且单独保存下来

B2对这两个Action作设置

C术语说明

C1 TD是MI公司的一款测试管理工具,他采用B/S模式,使得用户可以在任何与Server相连的计算机上实现测试用例的管理

C2 QTP是MI公司推出的功能测试工具,主要用于B/S模式的系统测试

D实例:

D1以登陆为例,录制好登陆脚本如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.2.D1.1

注意: 很多人录制的时候习惯性的关闭录制完成后的浏览器,这里不能让QTP录制下关闭浏览器这个步骤,所以当登陆进系统后,先停止录制,再关闭浏览器

D2对两个Action作设置,还是以登陆为例,选中脚本上的Action

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.2.D2.2

点击右键,选择Action propertIEs出现如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.2.D2.3

将reusable Action选中,点击ok,主界面变为下图所示

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.2.D2.4

Action图标变为

QTP笔记(一些为转载) - hiennsayi - hiennsayi

将退出也按上述步骤设定 

2.3 调用Action

A问题描述:

在设定完登陆和退出之后,还需要在整个脚本的主要部分(添加)上作一些设置

B处理流程:

B1调用已有脚本

B2设定record and run setting

B3调整Action的位置

B4录制脚本

B5对添加脚本进行参数化

B6对于添加Action属性的设定

C术语说明

C1 TD是MI公司的一款测试管理工具,他采用B/S模式,使得用户可以在任何与Server相连的计算机上实现测试用例的管理

C2 QTP是MI公司推出的功能测试工具,主要用于B/S模式的系统测试

D实例:

D1调用脚本,在QTP主页面选择 insert ---call to existing Action

QTP笔记(一些为转载) - hiennsayi - hiennsayi图4.3.D1.1

弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D1.2

在from test中,点击

QTP笔记(一些为转载) - hiennsayi - hiennsayi

会弹出文件夹选项(如果QTP已经连接TD等测试中心,那么会弹出测试中心的保存目录,本例是连接TD的)如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D1.3

选择你刚刚录制并且设置完成的登陆,点击ok,弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D1.4

选择at the end of the test点击ok

登陆Action被调用到当前的Action中,执行如上操作,将退出也导入到当前的Action中

D2设定record and run setting,在QTP主界面,选择test---record and run setting

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D2.5

弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D2.6

选择record and run test on any open web browser

D3调整Action的位置,当完成上述操作,你会看到你的界面如下图所示

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D3.5

三个Action顺序排列.但是你需要将登陆Action放在第一步,添加Action放在第二步,退出Action放在第三步,你可以通过用鼠标选中其中的一个Action通过拖动鼠标的方式来调整Action的位置

D4录制脚本,手动打开IE浏览器,手动登陆到你登陆Action执行完毕后的那个界面,然后在QTP中点击record,开始录制脚本,注意,不要录制最后关闭这个步骤

D5对添加脚本进行参数化,选择你要参数化的步骤,并且参数化你的步骤,但是在选择global或者Action时,选择Action,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D5.6

D6对于添加Action属性的设定,选中你的添加Action,点击右键,并且选择Action call propretIEs如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D6.7

在弹出的对话框中选择run on all row,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图4.3.D6.8

 

2.4 调用Action的模式

A问题描述与解答

要达到4.2所要达到的目标,其中的几个call Action必须依照4.2的属性来设置,否则将无法按要求运行

B个人感受:无

2.5 copy Action与call existing Action的区别

A问题描述

在QTP中可以使用两种调用其他Action的方法分别是call to copy of Action与call existing Action,他们之间的区别如下

B问题解答

两种方式都是将以被保存的Action调用过来,但是copy Action是将原本Action中的所有属性,及其参数值调用过来,并且可以在其上随意的更改,而且这些更改并不影响源Action,而call existing Action虽然也是将源Action的所有属性及其参数值都调用过来,但是你不能更改其中的任何步骤和参数值,如果一定要更改,需要重新打开源Action,在源Action上进行更改,所作的改动将自动体现在调用的Action上

C个人感受: 无

 

3 QTP系统参数设置对录制的影响

3.1 关于录制设置的区分web event recording configuration

A问题描述:

在录制过程中,默认的录制模式很多情况下是不能满足录制要求的,需要进行特殊的设定,你可以在web event recording configuration中完成这些设定

B处理流程:

B1启动QTP

B2进入到web event recording configuration对话框

B3web event recording configuration的设置

B4保存退出,录制脚本

C术语说明

C1 TD是MI公司的一款测试管理工具,他采用B/S模式,使得用户可以在任何与Server相连的计算机上实现测试用例的管理

C2 QTP是MI公司推出的功能测试工具,主要用于B/S模式的系统测试

D实例:

D1启动QTP,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D1.1

D2进入web event recording configuration对话框,点击tools---web event recording configuration如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D2.2

D3 web event recording configuration的设置,弹出web event recording configuration对话框,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D3.3

这里有三个录制级别可以设置分别为最低,中等,高级

如果你认为还是不能满足你的录制需要可以点击custom settings..按钮弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D3.4

左边是你的对象列表树,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D3.5

他包含了web中QTP所能识别的所有控件,你可以通过add object添加object控件

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D3.6

右边是跟控件相对应的实例,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D3.7

他包含了相对应的控件的鼠标录制属性,你可以通过add event来添加event控件

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.1.D3.8

D4 保存退出,录制脚本,点击ok保存设置,这时可以按照你的要求录制脚本

 

 

 

3.2 关于QTP录制mouseover得问题

A问题与解答

修改了Web Event Recording Configuration中的以下设置:

将Any Web Object、Web Object-->Image、Web Object -- >WebArea这三项上的Onmouseover都改成Always Enable就可以了

B个人感受: 无

3.3 关于start transAction的问题

A问题描述:

有时需要查看QTP执行脚本的执行时间,以及使用loadrunner调用QTP,也需要加一个特殊的功能键start transAction,因为loadrunner只能调用start transAction和end trasAction之间的代码段

B处理流程:

B1录制脚本

B2添加start transAction

B3运行脚本

C术语说明

C1 TD是MI公司的一款测试管理工具,他采用B/S模式,使得用户可以在任何与Server相连的计算机上实现测试用例的管理

C2 QTP是MI公司推出的功能测试工具,主要用于B/S模式的系统测试

D实例:

D1录制脚本,进入QTP页面,录制你的脚本,录制完成后点击stop

D2添加start transAction如下图在你需要查看时间的脚本上端添加start transAction,如下图,点击start transAction按钮

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.3.D2.1

弹出如下图对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.3.D2.2

输入名称,并且选择是在你所选步骤之前加还是之后,设定好后,点击ok

添加一个步骤,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.3.D2.3

再选择你要中止的步骤,点击end stransAction,如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.3.D2.4

弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.3.D2.5

选择你添加的start stransAction

点击ok

添加成功

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.3.D2.6

添加成功

D3运行脚本,运行后就能在result中查看时间信息

 

3.4 虚拟对象的使用

A问题描述:

在实际测试过程中,很多时候网页上的控件并不能都被QTP识别,例如网页上一个flash动画,实际上是一个链接,但是QTP无法识别出flash这个控件,这时使用QTP中的虚拟对象来解决这个问题

B处理流程:

B1使用虚拟对象,将flash设为一个对象

B2录制脚本

C术语说明

C1 TD是MI公司的一款测试管理工具,他采用B/S模式,使得用户可以在任何与Server相连的计算机上实现测试用例的管理

C2 QTP是MI公司推出的功能测试工具,主要用于B/S模式的系统测试

D实例:

D1使用虚拟对象,将flash设为一个对象,点击tools---virtual objects---new objects,弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.4.D1.1

点击next,进入下一个对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.4.D1.2

在class里选择你想将flash设为那个QTP能够识别的对象,点击next

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.4.D1.3

打开你的页面,页面中包含你要的虚拟的对象,并且点击上面对话框中的mark object按钮,页面会最小化,鼠标会编程”+”,你可以使用”+”来限定虚拟对象的范围选好后,会在width height中显示虚拟对象的高和宽,并且点击next,弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.4.D1.4

选择entre parent hIErarchy 或者 parent only点击next

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.4.D1.5

设定虚拟对象的名称,以及收藏的名字,点击finish

虚拟对象添加完成

点击tools---virtual object--- virtual object manager如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.4.D1.6

刚加的object在Vocollection1中,你可以在其中对这个虚拟对象,删除或者添加新的虚拟对象

D2录制脚本,录制脚本,在录制过程中会自动将flash控件识别成object控件

E个人感受:无

 

3.5 对于Action screen捕捉不精确的解决办法

A问题描述:

QTP不能100%精确的捕捉到Action screen,但是对于Action screen捕捉不精确的问题,可以通过QTP Action screen的设置来逐步精确(建议在录制时设检查点,避免捕捉不精确的问题)

B处理流程:

B1在QTP中设置捕捉级别

B2录制脚本

C术语说明

C1 TD是MI公司的一款测试管理工具,他采用B/S模式,使得用户可以在任何与Server相连的计算机上实现测试用例的管理

C2 QTP是MI公司推出的功能测试工具,主要用于B/S模式的系统测试

D实例:

D1在QTP中设置捕捉级别,点击tools—options如下图

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.5.D1.1

弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.5.D1.2

选择active screen tab

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.5.D1.3

分为4个级别none,minimum,partial,complete

None: 不保存active screen

Minimun: 最小化保存active screen

Partial: 中级别保存active screen

Complete: 最高级别保存active screen

可以点击custom level来自定义,弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.5.D1.4

可以根据你的需要自定义保存active screen,选择好之后,点击ok,设定被保存

D2录制脚本,设定好之后,就可以录制脚本了,QTP会根据你的设定保存active screen

 

3.6 QTP录制方式的分类

A问题描述:

QTP录制有3中基本的录制方式,根据不同情况使用不同的录制方式

B问题与解答: QTP分为:基本录制,low-level record,analog record

B1基本录制:

QTP的默认录制模式,可以通过上面的activescreen来进行设置

B2 Low-level record:

低级别录制,录制级别高于基本录制,并且能够编辑它录制下来的脚本

B3 Analog record:

高级别录制,能够录制鼠标的动作,但是录制下来的脚本无法进行编辑和修改,如果页面中控件位置发生变化,则无法继续使用这个模式录制的脚本,当选用analog record模式之后会弹出如下对话框

QTP笔记(一些为转载) - hiennsayi - hiennsayi

图5.6.B3.1

选择record relative to the screen录制当前页,并且回放的时候也是在当前页回放,如果当前页不是录制时的当前页,那么将会出现错误

选择record relative to the following window可以指定回放时的界面,点击

QTP笔记(一些为转载) - hiennsayi - hiennsayi

按钮指定界面,设定好后,点击

QTP笔记(一些为转载) - hiennsayi - hiennsayi

按钮

 

4、运行别的程序:

 SystemUtil.Run DataTable("add_batch", dtGlobalSheet), "", DataTable("dir", dtGlobalSheet), "open"

 

5、时间等待:

Services.ThinkTime 20

 

 

6、两种不同的设置循环次数的地方:

 

1、该设置针对全局表

QTP笔记(一些为转载) - hiennsayi - hiennsayi

2、该设置特别适合多Action模块脚本的情况。

QTP笔记(一些为转载) - hiennsayi - hiennsayi 

 

7、qtp的检查点可以利用正则表达式

 

8、QTP的描述性编程,描述性编程的属性可以通过object spy来查看

 

9、QTP对象库

一般来讲,创建简单的录制和运行测试时,对象库每个操作模式使用最简便,特

别是在下列情况下:

? 只有一个或非常少的几个测试对应于给定的应用程序、界面或对象集。

? 不打算经常修改测试对象属性。

? 通常创建单操作测试。

相反,在下列情况下,共享对象库模式通常是首选模式:

? 有几个测试用来测试同一应用程序、界面或对象集的元素。

? 希望不时更改应用程序中的对象属性,和/ 或需要定期更新或修改测试对象属性。

? 经常使用多操作测试,并且定期使用“插入操作的副本”和“插入对操作的调

用”选项。

10、

Reporter.ReportEvent micfail, "object",  "details"

Reporter.ReportEvent micPass, "object", 

 "details


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-23  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 17028
  • 日志数: 30
  • 建立时间: 2011-07-21
  • 更新时间: 2015-07-01

RSS订阅

Open Toolbar