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

SystemUtil.BlockInput ‘开始处

这里是你的脚本

SystemUtil.UnblockInput ’结尾处

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

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

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

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

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

3.WebTable 的index属性

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

4.WebTable 的RowCount重新获值

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

5.qtp识别的mandatory和assistive属性

qtp识别属性有mandatory和assistive,如果是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.QTP和Loadrunner获取系统内置环境变量方法(通用)

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

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

10.编辑共享对象对象库

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

11。Call to copy of Action与call existing Action的区别

在QTP中可以使用两种调用其他Action的方法分别是call to copy of Action与call 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)调用可重用检查点,在第一步录制好的脚本中调用这个可重用检查点,首先选中需要添加检查点的步骤,然后选择insert—call existing Action 选择after current step(3)检查点添加到步骤之后,通过这种发放这个检查点可以被多次使用。

14.关于Reporter.filter用法

问题描述: 在你查看QTP的reporter时当有参数化时,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插件后,在用qtp去spy对象。

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事,不能产生相应的录制脚本,脚本内容为空。

解决方法:

qtp中vb脚本,经典收藏的更多相关文章

  1. Linux Shell 小脚本经典收藏

    原文:http://www.cnblogs.com/Javame/p/3867686.html 1.在两个文件中找出相同的号码 diff -y xx.txt oo.txt | egrep -v &qu ...

  2. [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏]

    [英国][记录][战争中的世界:二战全史(26集)][BD-MKV/58G][中英双字][经典收藏] 原片名:The World at War  中文名:战争中的世界  导 演:Ted Childs, ...

  3. SecureCRT中python脚本编写

    SecureCRT中python脚本编写学习指南 SecureCRT python 引言 在测试网络设备中,通常使用脚本对设备端进行配置和测试以及维护:对于PE设备的测试维护人员来说使用较多是Secu ...

  4. Vbs脚本经典教材(转)

    Vbs脚本经典教材(最全的资料还是MSDN) —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...

  5. (转)经典收藏 50个jQuery Mobile开发技巧集萃

    (原)http://www.cnblogs.com/chu888chu888/archive/2011/11/10/2244181.html 经典收藏 50个jQuery Mobile开发技巧集萃   ...

  6. vb脚本自动更新版本信息

    使用的串口显示软件为secureCrt,支持脚本功能,今天写了一个简单的软件升级脚本(VB脚本). 如下: # $language = "VBScript" # $interfac ...

  7. 使用Wscript/cscript调用VB脚本

    ●强制用Wscript.exe执行 SET Wshell=CreateObject("Wscript.Shell") if lcase(right(Wscript.fullName ...

  8. loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

    loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本l ...

  9. Vbs脚本经典教材

    转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) —为 ...

随机推荐

  1. ES CPU和磁盘IO升高

    问题 ES监控出现偶尔的波动,CPU和磁盘IO升高 有时候在凌晨,业务请求比较低,也没有慢查询,GC也比较正常,没有出现Full GC ES内部的merge segment会占用CPU和磁盘资源,怀疑 ...

  2. List集合分页显示

    package com.mshc.util; import java.util.Arrays; import java.util.Collections; import java.util.List; ...

  3. incredibuild agent service is not running

    incredibuild 不用介绍了,今天因为服务没有启动报错显示为: incredibuild agent service is not running 解决方法为: 在Incredibuild的安 ...

  4. Learning from the CakePHP source code - Part I

    最近开始痛定思痛,研究cakephp的源码. 成长的路上从来没有捷径,没有小聪明. 只有傻傻的努力,你才能听到到成长的声音. 下面这篇文章虽然过时了,但是还是可以看到作者的精神,仿佛与作者隔着时空的交 ...

  5. libimobiledevice命令

    Mac 安装 1. 安装HomeBrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...

  6. 在eclipse中生成实体类

    1.在eclipse的windows中选中preferences在查询框中输入driver definition 2.点击add在Name/type中选中mysql jdbc driver 5.1然后 ...

  7. mybatis配置sql超时时间

    mybatis如果不配置,默认超时时间是不做限制的.当系统慢sql很多时,势必会增加数据库压力,系统性能及稳定性降低.所以有必要要设置sql超时设置,下面配置超时时间是5分钟. 第一步:全局配置如下 ...

  8. s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译

    时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...

  9. CSS三大样式

  10. HDU - 3068 最长回文(manacher)

    HDU - 3068 最长回文 Time Limit: 2000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Subm ...