51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1421|回复: 1
打印 上一主题 下一主题

QTP深层掌握

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-3-28 15:06:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1.自定义函数,并调用此函数
定义:Function Definition Generator
路径:Insert->Function Definition Generator
调用:直接输入函数名称,便可使用

2.手工插入操作步骤
定义:Dtep Generator
路径:Insert->Step Generator

3.语法检查-编辑脚本语法存在错误
路径:Tools->Check Syntax

4.Run Current Action-单独运行Action
定义:有利于节约时间,单独编辑脚本
路径:Automation->Run Current Action

5.Test Batch Runner-批量运行测试脚本
定义:需要在QTP,Tools-options勾选Allow other Mercury products to run test and components
路径:开始->程序->QTP->Test Batch Runner

6.QTP与LR的整合
定义:更加完善地操作业务编辑LR的脚本
路径:Insert Step->Start Transaction

7.QTP-Silent Test Runner与模拟LR的调用
定义:模拟LR调用脚本是否成功,可以看出总事务时间
路径:开始->程序->QTP->Tool->Silent Test Runner

8.LR运行QTP脚本进行性能测试
定义:更加完善业务,完整的设计脚本
路径:打开LR文件时,文件类型选择:All files,选择QTP.USR的文件就OK了注意:LR一定需要WEB & globa
l license才不会出现报错

9.output Value-输出对象属性值
定义:测试步骤前,查看对像属性的值;相当于对检查点填写值之前的检查
路径:Insert->Output Value

10.网页检查点
定义:网页检查点可以测出所有链接的有效性
路径:插入检查点,弹出Object Selection窗体时,选择page:XX->点击OK就可以添加网页检查点

11.Action输入参数
定义:为参数定义一个默认值;进行参数化时,直接在parameter types 选择Test/action parameter会出现
刚才设置的默认值
路径:Edit->Action->Action Properties

12.调用Action
定义:在new action中往往都需要另外一个Action外做为引导,这时我们就可以使用调用Action方式来处下
路径:Insert->Call to Existing Action
定义:设置调用Action的参数化
路径2:Edit->Action->Action Properties

13.Environment环境变量参数化,及设置变量
定义:可以使用本机器的一些变量名称,进行设置Action的变量;进行参数化时,直接在parameter type
s 选择Environment设置的默认值
设置变量路径:File->Setting->Environment->Variable type->User-defined

14.Data Driver
定义:查找录制时,没有被参数化的对象;并可以对全部没有被参数化的对象进行参数化
路径:Tools->Data Driver

15.VBS自动识别和完成
路径:Tool->View Options:Auto-expand VBScript syntax

16.使用PathFinder对象查找文件
定义:查找系统文件;Folders添加搜索目录,可以查询添加目录的文件
路径:Tool->Options:Folders
使用方法:x=PathFinder.Locate("查询文件arameters.mtr")

17.systemutil.Run对象应用
定义:运行某程序
使用方法:systemutil.Run "程序路径+名称","运行Link地址"
例:systemutil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","http://www.baidu.com/"

18.Report对象应用
定义:可设置单独操作步骤生成一个报告
路径:Insert->Reprot
使用方法:Reporter.ReportEvent Status, "Name","Details"
例:Reporter.ReportEvent micPass , "123", "123"

19.Environment对象应用
定义:读取和设置环境变量(Built-In\User-defined上面有讲述Environment应用)
脚本:
OS=Environment.Value("OS")
OSVersion=Environment.Value("OSVersion")
TestName=Environment.Value("TestName")
Reporter.ReportEvent micDone , "Environment" ,"运行测试脚本:" &TestName & "的操作系统为:" & OS &
"版本为:" & OSVersion

20.wait\print\msgbox函数应用
定义:wait暂停测试脚本;print非模式显示测试过程信息;msgbox窗体模式显示测试过程信息
脚本:
wait(10);msgbox ("ABC");
print:
set a=browser...
print a

21.虚拟对象
定义:虚拟对象可以把图片或其他元素转化为按钮形式出进录制;虚拟对象只可以在录制时被使用
路径:Tools->Virtual Objects->New Virtual Objects

22.Recovery Scenarios-错误恢复场景
定义:处理不可遇知的错误场景;由于步骤太多不详细讲述使用
路径:
创建场景:Resources->Recovery Scenario Manager
添加场景:File->setting->Recovery:添加创建场景OK

23.使用set & with
定义:多使用set或with把代码简化,便于减少代码的出错率
脚本:
set a = browser...
a.link("").click

with browser...
.click
.click
end with

24.Exist
定义:判断控件是否存在
脚本:if a("").Exist(2) then
msgbox()...

25.猴子测试-随机数 Randomize&RandomNumber
定义:Randomize初始化随机数,RandomNumber随机产生字符
脚本:
Randomize '初始化 For
For Iterator = 1 To 10 Step 1
key=array("123456","%^&*(","是砂")
n=randomnumber(0,2)  
send=key(n)
'msgbox send

key=array("123456","%^&*(","是砂") :创建数组
n=randomnumber(0,2) :2为总的数组量,如果输入总数组不等于组建的数组,会出现问题


26.通过WMI获取屏幕高度与宽度
定义:让猴子任意点击界面的测试,先获取屏幕的高度与宽度
脚本:
Computer="."
Set objWMIService=GetObject("winmgmts:\\"& Computer &"\root\CIMV2")
Set colItems=objWMIService.execquery("select * from win32_desktopMonitor",,48)
For Each objitem In colitems
height=objitem.screenheight
width=objitem.screenwidth
Next
MsgBox width & "," & height


27.通过.Net获取屏幕高度与宽度
定义:让猴子任意点击界面的测试,先获取屏幕的高度与宽度
脚本:
Set CreateInstance=DotNetFactory.CreateInstance("System.Windows.Forms.Screen","System.Windows.F
orms")
width=CreateInstance.primaryscreen.workingarea.width
height=CreateInstance.primaryscreen.workingarea.height
msgbox width & "," & height


28.生成DLL文件
定义:QTP调用封装好的DLL文件,可以提高代率读写能力及实现功能的扩展
使用方法:MVS2008->编辑代码并生成,可以在保存文件夹中的bin\Debug里找个.DLL文件

29.定时启动QTP并运行脚本
定义:很多时候测试都运行夜深人静的时候,定时运行脚本是很有必要的事情了
使用方法:
1.创建.bat文件,内容如下:
'============BAT文件=======================
at 17:06 /interactive cscript C:\rc.vbs
'========================================

2.创建.vbs文件,内容如下:
'============VBS文件=======================
Dim qtApp

Set qtApp = CreateObject("QuickTest.Application")
qtApp.Launch
qtApp.Visible = True
qtApp.Open "G:\qtpscript\temp" '这里是QTP脚本文件夹地址
qtApp.Test.Run , True
'========================================

30.使用DotNetFactory进行创建
定义:可以此方法调用DLL文件
使用方法:Set a=DotNetFactory.CreateInstance("")

31.运行IE
脚本 :systemutil.run "IEXPLORE.EXE"
加载页面:Browser("Browser").Navigate "http://baidu.com"

32.自动化测试体会
1.重点选择复用性高的功能模块
2.针对模块编写测试用例
3.根据测试用例进行开发脚本(注意代码之间的同步处理:sync\wait)
4.对脚本增加检查点
5.针对脚本与检查点进行参数化
6.执行每次用例都保持一致的数据,需要数据恢复的处理
7.对象库管理(统一命名方式、共享对象库的使用)
8.测试系统的结构(以模块为一个Test、以测试点为一个Action、以Sheet表为一个测试用例的单元)
9.批量处理写好的模块脚本
10.自动化测试报告

33.InStr 函数
示例:
  这个函数说明的是一个字符串在另一个字符串中出现的位置,在自动化测试中,经常用作比较结果来
使用。
比如:
Dima,b
a="rtyi"
b="1345krkrtyi:{""><?"

If InStr(b,a)>0Then
   MsgBox"测试结果通过"
Else
    MsgBox "测试结果失败"
End If

34.Split 函数
示例:
  这个函数主要用于拆分字符串用,在自动化测试开发中主要用于拆分测试数据。
比如:

Dim a,b,i

a="rt124,y556,57777,<>:/*&%"
b=Split(a,",")

For i=0 To Ubound(b)
    MsgBox b(i)
Next

35.同时打开多个Action
Window --> New Horizontal Tab Group或者是New Vertical Tab Group这两种视图方式。



2012-08-02   更新

36. 实时加载动态对象库
RepositoriesCollection.add "D:\qtp\link.tsr"

37.垂直侵害选取
使用方法:光标左上角点击鼠标左键往右拉,选取完成后点击鼠标右键
更改代码:选取后直接输入代码即可

38.代码换行符
使用方法:
Browser(a).page(b).link(c).click
--> Browser(a)._
--> page(b)._
--> link(c).click

39.手写代码3种方式
-->1.Step Generator
使用路径:Insert->Step Generator
使用方法:使用对象库存在对象,然后打开Step Generator点击对象生成代码

-->2.Complete Word
使用路径:Edit->Advanced->Complete Word
快捷方式:Ctrl+Space
使用方法:自动完成编码者编写的代码

-->3.对象拖动生成方式
使用路径:存在于Available Keywords
使用方法:直接拖动对象到专家窗口,直接生成代码

40.对象识别工具-Object SPY
使用技巧:->1.半操作模式--Ctrl键:支持点击界面
         ->2.全操作模式--Ctrl+Alt键:支持点击和键盘输入


41.小技巧--快捷键
Alt+G键:快速跳转定位到调用的Function
Ctrl+shift+space键:重新显示方法的参数
Alt+ "." 键:提示function的方法

42.with...End with
使用方法:
browser(a).page(b).link(c).click
browser(a).page(b).link(d).click
browser(a).page(b).link(e).click
-->
with browser(a).page(b)
.link(c).click
.link(d).click
.link(e).click
end with



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-18 00:47 , Processed in 0.063681 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表