qtp中vb脚本,经典收藏

简介: 1.在脚本运行过程中屏蔽鼠标键盘输入    SystemUtil.BlockInput ‘开始处    这里是你的脚本    SystemUtil.UnblockInput ’结尾处   ---------------------------------------      补充关闭进程的方法:Systemutil.

1.在脚本运行过程中屏蔽鼠标键盘输入

   SystemUtil.BlockInput ‘开始处

   这里是你的脚本

   SystemUtil.UnblockInput ’结尾处

 

---------------------------------------

 

   补充关闭进程的方法:Systemutil.closeprocessbyname "GreenBrowser.exe"

2.检查页面对象是否可用

   yanzheng=Browser("电子政务").Page("::::行政审批系统::::").Frame("10_3").WebButton("验证").GetTOProperty("disabled")

   用GetTOProperty("disabled")获得对象disabled 的属性值,如果为1,则不可用,为则可用

3.WebTable index属性

 

    今天才发现原来,WebTable原来还有index这个属性,设置了index属性后问题得以解决。不知道咱们搞的,公司的那个系统在找WebTable时,增加对个对属性去匹配,搞了好久才发现原来是自己需要的WebTable有多个,添加index属性后,问题得以解决。

 

4.WebTable RowCount重新获值

 在第一次获得RowCount值后,比如要执行删除操作,这时要重新获取表格的属性值(用set ...),这样RowCount才能变化,否则还是之前(第一次)的值。

 

5.qtp识别的mandatoryassistive属性

 

    qtp识别属性有mandatoryassistive,如果是mandatory 属性变了就识别不到,assistive属性变了就不一定

 

6.qtp执行页面刷新

 

方法1,使用IE上自带的刷新按钮

方法2,使用Refresh函数

Sub Refresh_Example()

'The following example uses the Refresh method to refresh the

'objects in the Mercury Tours browser.

Browser("Mercury Tours").Refresh

End Sub

 

 7.对象获得焦点

 

Browser("审批工作平台").Page("工作平台").WebEdit("user_pass").Object.focus

 

一定是Object.focus而不是focus

 

 8.QTPLoadrunner获取系统内置环境变量方法(通用)

 

os=environment.Value("OS")

provesi=environment.Value("ProductVer ")

hostname=environment.Value("LocalHostName")

msgbox os &","& provesi &","& hostname

 

 9.通过浏览器打开网址操作

 

systemutil.run  "iexplore.exe","http://mail.163.com","","",2

 

  注意 为最小化,3为最大化。

 

10.编辑共享对象对象库

 

   通过Resources-Object Repository Manager,进入后,打开共享的对象库文件,默认对象库是不能编辑的,要在file菜单中点击 enable editing,就可以编辑了!

 

11Call to copy of Actioncall existing Action的区别

 

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

 

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

 

12.QTP中计算脚本执行时间方法

 

    如果要计算一个action或者要计算一段脚本执行的时间,这里的解决方法是:添加事物开始Services.StartTransaction "trans_test"和 Services.EndTransaction "trans_test",运行完成后,在result中就可以看到该事务的执行时间。如图:

 

 

 13.设置可重用检查点(个人感觉有点创意)

 

    方法一:

 

    将检查点全用描述性编程定义成function函数,然后每次都调用这些function

 

    方法二:

 

    (1)录制可重用检查点,QTP  record and run setting设为录制当前页,开始录制,不录制步骤,直接在录制过程中添加检查点,将这个只有检查点的Action设为可重用。(2)调用可重用检查点,在第一步录制好的脚本中调用这个可重用检查点,首先选中需要添加检查点的步骤,然后选择insertcall existing Action 选择after current step3)检查点添加到步骤之后,通过这种发放这个检查点可以被多次使用。

 

 14.关于Reporter.filter用法

 

   问题描述在你查看QTPreporter时当有参数化时,reporter右边的选择树会很长,即使看起来很不方便,也不利于查找错误。

 

   处理流程:(1)录制脚本(2)在expert view中设定

 

   Reporter.filter分为四个属性:

       0或者rfenableall 所有的报告都显示在test result

        1或者enableerrorandwarning错误和警告信息显示在test result

       2或者rfenableerroronly只把错误显示在test result

       3或者rfdisableall不在test result中显示任何信息

   你可以根据需要设定你要显示的错误

 

  举例:

 

Reporter.filter=2

reporter.ReportEvent micPass,"测试通过01","pass"

reporter.ReportEvent micFail,"测试失败01","fail"

 

reporter.ReportEvent micPass,"测试通过02","pass"

reporter.ReportEvent micFail,"测试通过02","pass"

 

reporter.ReportEvent micPass,"测试通过02","pass"

reporter.ReportEvent micFail,"测试通过02","pass"

 

reporter.ReportEvent micPass,"测试通过02","pass"

 

reporter.ReportEvent micFail,"测试通过02","pass"

 

 

 15.用回车键查询问题的解决

 

    (1.(Sendkey方法)

 

 Browser("系统登录").Page("***信息管理系统").Frame("main").WebEdit("ylzh").FireEvent("onfocus")

set WshShell =CreateObject("WScript.Shell")

WshShell.SendKeys "{ENTER}"

 

 

     (2)用 “Type  micReturn 

 

 16.我们在用Object Spy 识别对象时注意的问题。

 

    我们一定要在QTP加载相关插件后,再用Object Spy 去识别对象,否则,识别出来的对象不是我们需要的。如果,我在识别web页面的button,但是我如果不加载web插件时,识别出来的确是一个WinObject,呵呵。所以一定要加载web插件后,在用qtpspy对象。

 

 17.运用childobjects获取桌面上的顶级对象!实现关闭特定browser的方法。

 

    Desktop对象允许访问桌面上的顶级对象.运用childobjects方法可以返回此对象中的所有对象列表:以下代码实现了,从桌面顶级对象中查找name=“新浪首页”,然后将该browser的图像抓取出来存到特定的文件夹下.

 

 Set des=description.Create()

set  dobj=desktop.ChildObjects(des)

 For i=0 to dobj.count-1

  If dobj(i).Getroproperty("name")="新浪首页" then

  dobj(i).CaptureBitmap"D:\Software testing\QTP\temp\"&i&".bmp",true

  dobj(i).close

  end if

 Next

 

 

 18.参数化Link的一种方法

 

 Linkvar=DataTable("linktext",dtGlobalSheet)

Browser("163网易免费邮--中文邮箱第一品牌").Page("163网易免费邮--中文邮箱第一品牌").LinK("text:="&Linkvar).click

 

 

Datatable中的数据为:

 

 linktext

 

 126免费邮

 

 Yeah.net

 

 VIP

 

 188

 

 贺卡

 

 帮助

 

 

 19.将日期写入日期控件文本框的方法

 

Browser("电子政务").Page("::::行政审批系统::::").Frame("9_3").webedit("日期控件文本框名字").Object.value="2009-04-06"

 

 

 20.关于 在线文本编辑器 QTP不能写入文字的方法

 

     因为QTP将 在线文本编辑器 识别成了一个 WebElement,这块用到object.document.write"你想要写的内容方法.

 

     其实 object.document.write""  这个方法很牛大家在后边就会发现.

 

 21.QTP脚本不能录制的解决方法

 

    问题起因:

    在安装QTP后,或者禁用IE浏览器里的一些ActiveX控件后,正常录制QTP事,不能产生相应的录制脚本,脚本内容为空。

    解决方法:

技术改变世界! --狂诗绝剑
目录
相关文章
|
Shell
VB编程:用Shell函数打开记事本-54
VB编程:用Shell函数打开记事本-54
|
Shell
VB编程:用Shell函数打开记事本
VB编程:用Shell函数打开记事本
251 0
VB编程:用Shell函数打开记事本
|
XML 数据安全/隐私保护 数据格式
vbs和qtp一些脚本
********************************************************************************************** 用vbs调qtp '编写自动执行指定的QTP脚本的VBS:'利用QTP本身的Quicktest.
1091 0
QTP使用小技巧
1、创建action template.     当希望在每一个新建action时都增加一些头部说明,比如作者、创建日期、说明等,用action template     来实现最简单快捷。     方法:用记事本等文本编辑器,输入如下类似的内容:           'Company: xxxx ...
929 0
VBS基础篇 - VBScript过程
VBS基础篇 - VBScript过程     在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。  Sub过程 Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句。
873 0
|
XML 测试技术 数据库