版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【软件测试自动化-QTP系列讲座 01】在我们翻开QTP之后,我们可以看到有如下的一个Add-in Manager 框弹出来这是一个QTP插件管理器,每次启动前需要选择对应的插件才能进行测试。经常会在网上看到一些朋友会问:这个工程是用什么什么语言写的,应该选择哪个插件?其实提出这个问题的朋友是因为没有了解插件的真正含义和作用。插件的含义与作用:Add-in 的选择是为了能够成功识别对应Add-in的测试对象控件,也就是说是和被测控件有关,而跟什么什么语言写的是没有关系的。=实例=需求:成功使用QTP的SPY识别出百度搜索框(WebEdit)控件序号测试步骤预期结果1双击弹出插件选择框2选择WE
2、B插件,点击确定成功翻开QTP3翻开浏览器,输入 BAIDU 页面成功跳转百度4点击QTP的菜单栏下TOOLS-OBJECT SPY弹出SPY框5点击手指图标按钮页面跳转百度页面6点击百度文本框SPY中显示为WebEdit对象正确插件SPY显示对象,成功定位到WebEdit对象控件错误插件SPY显示对象,只能把整个浏览器识别为一个对象,而不能具体定位到正确的控件对象本卷须知: 一定要先开QTP,然后翻开IE,这样SPY才能正确识别,因为安装完QTP之后,每次翻开IE,浏览器会自动加载BHOManager,而QTP在IE中识
3、别对象是依靠一个叫BHOManager Class的动态链接库来完成的,如果是先翻开IE再翻开QTP,QTP就不能成功读到BHOManager这个动态链接库而导致QTP识别对象失败。【软件测试自动化-QTP系列讲座 02】= 对象库及原理透析在介绍对象库前首先要说一下QTP自动化的原理通过以上3个步骤,QTP就可以完成自动化对象。=实例 1 = 这是一个非常简单的例子如果觉得都懂的可以略过 序号测试步骤预期结果1翻开对象库弹出对象库2翻开浏览器,跳转百度页面成功跳转百度3 A点击对象库中的ADD OBJECT TO LOCALB选择百度搜索框对象成功把搜索框添加到
4、对象库4在专家视图中输入写入输入搜索框执行脚本专家视图显示脚本5回放脚本测试对象自动化输入添加对象之前,见图添加完对象之后,见图 脚本显示,如以下图: 回放之后,搜索自动输入了HELLOWORLD 如果能够熟练掌握以上的例子之后我们就可以开始进行下一步的工作 这局部的概念很重要,想学好QTP就一定要掌握。 熟练运用SetTOProperty,GetROProperty,GetTOProperty 首先说明一下TO和RO分别是什么意思 TO:测试对象库RO:运行对象 简单的说 Set
5、TOProperty:修改对象库中对象的属性值GetTOProperty:获取对象库中对象的属性值GetROProperty:获取运行对象的属性值 =实例 2 =就拿刚刚的那个例子接着做下去现在对象库里那个对象是百度的搜索框对象,这点现在没问题吧。现在我要用这个对象库里的对象来控制GOOGLE搜索框的对象大家肯定会问:百度的搜索框和GOOGLE的搜索框对象属性肯定是不一样的,怎么能控制GOOGLE的搜索框呢?解决方案:更改对象库里的属性和GOOGLE的对象库属性一样就OK了, 序列测试步骤预期结果1使用SPY查看你GOOGLE搜索框的NAME属性显示NAME属
6、性值为q2使用SetTOProperty更改对象库NAME属性为q,并进行输入HELLOWORLD脚本视图重新改写3回放GOOGLE搜索框输入HELLOWORLD 步骤1: 如果不是很清楚怎么用SPY可以去【QTP系列讲座 1】 Add-in Manager 插件介绍 地址: 步骤2:脚本视图输入 view plaincopy to clipboardprint?1. Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit(&q
7、uot;wd").SetTOProperty "name","q" 2. Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "helloworld" 步骤3:回放 页面成功输入HELLOWORLD =实例 3 =序列测试步骤预期结果1查看对象库的NAME属性显示NAME属性值为wd2GetTOPro
8、perty获取对象库的属性值脚本视图重新改写3回放成功显示指定对象库的属性值view plaincopy to clipboardprint?1. msgbox Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").GetTOProperty("name") GetROProperty用法和GetTOProperty是一样的,只不过一个是运行对象属性,而一个是对象库中的属性=细分的朋友应该会发现既然有获取对象库中对象属性,修改对象库
9、中对象属性,获取运行时对象的属性。为什么没有SetROProperty修改运行时对象的属性呢因为这个方法可以直接使用调用对象【object.属性值】的自身接口来修改运行对象的属性=实例 3 =序列测试步骤预期结果1修改搜索框的长度脚本视图重新改写2回放百度搜索框被改短了view plaincopy to clipboardprint?1. Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Object.size="1" 步骤2.
10、回放,看到百度的搜索框变短了,是不是很好玩,哈哈总结: 这一章的东西比较多,也非常的重要,可别小看这些概念,关键大家一定要实践才能真正领悟到其中的含义。今天内容就到这里。【软件测试自动化-QTP系列讲座 03】= 手工参数化 =我一直不提倡使用录制来完成测试脚本的,建议用手工方式来编写测试脚本,因此今天首先介绍下手工参数化 相信普通的参数化问题大家也应该都知道吧如果不知道的可以去百度进行搜索有一大堆= 实例 =继续上次的百度实例view plaincopy to clipboardprint?1. B
11、rowser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "helloworld" - 接下来要做的就是参数化 序号测试步骤预期结果1在datatable中选择ACTION1这个sheet表ACTION1的SHEET表被选中2在action1这个SHEET中双击A列弹出框输入 searchContent,点击OK按钮A列名被更改为searchContent3在searchContent列的第一行
12、输入HELLOWORLD列表显示HELLOWORLD4更改脚本为读取DATATABLE脚本更新5回放百度搜索框成功输入helloworld步骤2.在action1这个SHEET中双击A列弹出框输入 searchContent,点击OK按钮 步骤3.在searchContent列的第一行输入HELLOWORLD 步骤4.更改脚本为读取DATATABLE view plaincopy to clipboardprint?1. Browser("百度一下,你就知道").Page("百度一下,你
13、就知道").WebEdit("wd").Set datatable("searchContent",dtLocalSheet) 步骤5 回放 小提示:当datatable的列数超过2列时,输入DATATABLE( 会自动出现代码提示 =datatable还有很多用法感兴趣的可以通过F1查看它的所有方法 【软件测试自动化-QTP系列讲座 04】= 资源池 =QTP的资源池具有可以从外部文件读取测试脚本的功能。当我们在写完公共函数库的时候,我们就可以通过资源池来灵
14、活的调用我们之前的函数库下面就来介绍一下 首先我们新建一个"test.txt"文件内容如下 view plaincopy to clipboardprint?1. function hello_world_msg(tt) 2. msgbox tt 3. end function 4. function hello_world_add(a,b) 5.
15、; msgbox a+b 6. end function 1.我们翻开QTP,新建一个TEST2.选择菜单栏的FILE->SETTING点击F7 弹出step generator category: Functionlibrary: Library Functions选择我们刚刚写的那个函数并输入参数点击确定 QTP就自动生成了一段代码 view plaincopy to clipbo
16、ardprint?1. hello_world_add 1,2 执行一下是不是弹出其实我们还可以使用另外一种更加快捷的方法来写这个函数那就是使用前面一章所讲到的COMPLETE WORD来快速编写函数不熟悉的朋友可以去学习下:选择后直接回车后,会显示相应的参数名然后输入参数就OK啦【软件测试自动化-QTP系列讲座 05】= DOM技术的应用 =看过第二章【QTP系列讲座 2】 对象库及原理透析的朋友都应该知道不清楚的朋友可以看这里地址:QTP自动化测试对象首先是从对象库获取测试对象,然后直接通过对象库对象和真实对象进行匹配后来控制对象的 &
17、lt; type="text/javascript"> < src=" :/pagead2.googlesyndication /pagead/show_ads.js" type="text/javascript"> 就是通过上面这句话我们可以对百度的搜索框进行输入内容。 但其实我还可以通过HTML DOM的方法来获取对象的ID或者NAME来控制我们想要的对象 =实例=需求:使用DOM技术进行自动化2.输入helloworld 步骤:view plaincopy to cli
18、pboardprint?1. Browser("百度一下,你就知道").Page("百度一下,你就知道").Object.getElementById("kw").value="helloworld" 2. Browser("百度一下,你就知道").Page("百度一下,你就知道").Object.getElementById("sb").click 通过以上例子我们可以看到又有了一种新的控制对象的方法,其中控制
19、对象有很多种我这里就以百度搜索框输入为例,总结一下确定对象的一些方法view plaincopy to clipboardprint?1. Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "helloworld" view plaincopy to clipboardprint?1. Browser("百度一下,你就知道").Page("百度一下,你就知道").we
20、bedit("name:=wd").Set "123" view plaincopy to clipboardprint?1. Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Object.value="helloworld" view plaincopy to clipboardprint?1. Browser("百度一下,你就知道").Pag
21、e("百度一下,你就知道").Object.getElementById("kw").value="helloworld" view plaincopy to clipboardprint?1. '描述对象 2. Set oDesc = Description.Create() 3. oDesc("micclass").Value = "WebEdit"
22、160;4. '获取webedit的数量 5. edit_count=Browser("百度一下,你就知道").Page("百度一下,你就知道").ChildObjects(oDesc).count 6. '获取子对象集合 7. set editobjects=Browser("百度一下,你就知道").Page("百度一下,你就知道").ChildObjects(oDesc) 8. For
23、60;i=0 to edit_count-1 9. If editobjects(i).GetROProperty("name")="wd" then 10. editobjects(i).set "helloworld" 11.
24、0;End If 12. Next 【软件测试自动化-QTP系列讲座 06】=利用DotNetFactory调用.NET类库 首先我们看一下F1是怎么说明DotNetFactory的,我们翻开QTP输入DotNetFactory后,选中它按F1后我们可以看到它的一个示 < src=" :/ type="text/javascript"> < src=" :/ type="text/javascript"> 例:view plaincopy to
25、clipboardprint?1. Set var_CreateInstance = DotNetFactory.CreateInstance("System.Windows.Forms.Form", "System.Windows.Forms") 2. var_CreateInstance.Show 3. wait 2 4. var_CreateInstance.Close
26、 运行这个例如后我们可以看到一个Form窗口弹出来,2秒后窗口自动关闭相信大家看类名也应该知道一个是写,一个是读吧由于我们在自动化测试中经常会用到写文件和读文件这些应用,比方写日志,读配置啊一些的。所以掌握这两个类的使用方法还是很有用的。接下来就通过一个例子来说明下怎么来使用这两个类。=实例 1 =1.翻开QTP,输入以下代码view plaincopy to clipboardprint?1. '*使用.NET类写文件* 2. Set oFile = DotNetFactory("System.IO.Strea
27、mWriter", , "d:test.txt") 3. '写文件 4. oFile.Write "test report " 5. oFile.WriteLine now 6. '关闭文件 7. oFile.Close 8. '清楚对象 9. oFile.dispose &
28、#160;10. Set oFile = Nothing 11. Set oEncoder = Nothing 2.Set oFile = DotNetFactory("System.IO.StreamWriter", , "d:test.txt")这步代表创立一个类的对象并且赋予参数,这里的参数就是我们要写文件的文件地址3.运行代码后,我们可以看到D盘里多出一个test.txt文件,里边有我们之前写进文件的内容 =实例 2 =1.
29、写完文件之后,我们就可以进行读文件了,也是一样,保存我们之前创立的那个文件,新建QTPtest写入代码view plaincopy to clipboardprint?1. '*使用.NET类读文件* 2. Set oFile = DotNetFactory("System.IO.StreamReader", , "d:test.txt") 3. '读文件 4. msgbox oFile.readLine &
30、#160; 5. '关闭文件 6. oFile.Close 7. '清楚对象 8. oFile.dispose 9. Set oFile = Nothing 10. Set oEncoder = Nothing =总结:1.QTP参加了DotNetFactory之后使QTP更加强大了,因为它不但能调用现成的.NET类库,而且还能调用自己写的类库,详细方法可以去3A看我出的
31、视频里有地址:2.写文件的方法除了DotNetFactory,还可以通过调用COM组件的FSO的方法来实现,这个我会在后续的系列中讲到,尽请期待!【软件测试自动化-QTP系列讲座 07】=自定义COM组件的实现 一WSC篇COM组件是一个在我们自动化测试中很常用的一个东西但其实我们不止可以调用这些COM组件,其实我们还可以自己开发COM组件来进行调用准备工作: 首先我们需要下载一个WSC向导程序:windows script component wizard(这个网上很多大家搜索一下就有了)= 实例 =1.下载完成后,翻开程序,输入N
32、AME为zzxxbb,并选择我们要生成WSC文件的路径,点NEXT2.这一步选择语言,我们这里就默认,点击NEXT3.这一步添加属性名和属性值的,也是默认,点击NEXT4.这一步是填写函数名和函数参数的,我们这里填入函数名:msg 参数名:content,点击NEXT5.一直NEXT,最后点击FINISH,完成WSC的向导,成功在对应的路径生成了WSC文件6.点击确定后,找到生成的WSC文件双击翻开后7.对此文件中的MSG方法进行修改,把原来的语句注释掉,添加"msgbox content"8.添加完保存文件并关闭,我们右键点击我们之前生成的WSC文件选择注册9
33、.注册完之后我们自己开发的COM组件就成功完成了并导入注册表了,接下来就可以通过QTP来调用它了。10.输入以上代码之后,我们就可以成功执行刚刚我们写的那个函数了,回放之后弹出消息框这样一个COM组件就已经生成并已经能够成功调用了其实我们平时可以把经常需要使用的方法都注册进COM里,以后就可以直接使用这些方法来调用了总结:1. COM组件有很多种我们可以下载一个VBSEDIT进行查阅 下载地址可以去3A论坛: 查阅方法,翻开VBSEDIT之后,点击菜单栏的TOOLS-REFERENCE-ADD,翻开下拉框就全部出来了2.自
34、定义COM组件的方法不止这一种,还有 < src=" :/ type="text/javascript"> < src=" :/ type="text/javascript"> 一种方法通过VB6生成ACTIVEX DLL来生成COM组件 这个会在下一章 < src=" :/ type="text/javascript"> < src=" :/ type="text/javascript"> 讲解,个人比
35、较推荐后一种【软件测试自动化-QTP系列讲座 08】=自定义COM组件的实现 二activex dll生成篇在上一章我们讲到了使用WSC向导生成WSC文件来创立自定义COM组件,并且实现在QTP中的调用今天来讲一下第二种方式,第二种方式其实说穿了就是在VB6里写好函数封装成DLL之后生成自定义COM组件。 < type="text/javascript"> =实例=准备工作:下载VB6 网上有很多如果找不到可以到我提供的这个地址下载: :/61.dc.ftn.qq /ftn_handler/1fb4107ad7512ae7140fd2e6f
36、5ba3f2c64bbd3c14d48d257ab2143f8b6a04a589aa8bb86cfb698d78ac999cb22bd74fd0dbee88e32a78f07eafb9a1aa4b20a40/Visual Basic 6 精简版.rar?k=793539335a2aabceaac8e5291565061e06060a030b04060019540a52545c060700060902075f52337c34675d464c525f457650475c5a1305458a9a88c789d51d17554334地址14天过期 如果实在是找不到,或者没方法下载可以邮件我,
37、我会及时发你:zzxxbb112163 1.装完之后,我们就可以开始翻开VB6应用程序了,翻开之后,选择ActiveX DLL,点击翻开 3.修改右边的工程名和类名分别为: zzxxbb 和 operator 4.点击左上角菜单栏的文件-?生成DLL 5.生成完之后,如果你的QTP是 10.0以下的话,可以使用vbsedit直接在里边写好代码,然后黏贴进QTP 因为VBSEDIT有代码提示,可以看到自己写的方法。 6.上图的两个方法 就是我们之前写的 两个方法,然后我们写入方法,并
38、运行运行结果为3,成功之后就可以把我们的脚本放入QTP之中运行了 如果你是QTP 10.0的话,可以不用VBSEDIT直接在QTP里写就会出现提示 运行之后的结果也是一样 本卷须知:【软件测试自动化-QTP系列讲座 09】= AutoItX技术的应用 =首先介绍一下AutoIt : AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI用户界面中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,而这是其它
39、语言所无法做到或尚无可靠方法实现的比方VBScript和SendKeys。< type="text/javascript"> < src=" :/pagead2.googlesyndication /pagead/show_ads.js" type="text/javascript"> 首先要使用AUTOIT肯定需要先安装它,安装文件网上很多,这里我就不提供下载地址了大家可以自己百度去搜一下,安装完之后,AUTOIT会自动注册一个AUTOITX的DLL COM组件接下来就可以在QTP里编写脚本了,如果是10.0
40、的话可以直接在QTP里编写,如果不是就先在VBSEDIT里编写原因:有代码提示1.在QTP脚本视图里输入 view plaincopy to clipboardprint?1. Set oAutoIt = CreateObject("AutoItX3.Control") 2.由于在我们安装AUTOIT过程中已经自动注册过了COM,所以通过oAutoIt这个对象可以点出很多方法和属性。知道了怎么调用之后我们就可以通过一个最简单的实例来了解下AUTOIT究竟是一个怎么样的东西,它能够做些什么=实例=就以飞机订票登陆
41、为例在QTP脚本视图中输入view plaincopy to clipboardprint?1. '创立对象 2. Set oAutoIt = CreateObject("AutoItX3.Control") 3. '启动飞机订票 注意路径每个人的路径可能不一样 4. oAutoIt.Run "D:Program FilesHPQuickTest Professionalsamples
42、flightappflight4a.exe" 5. '等待登陆窗口弹出 6. oAutoIt.WinWaitActive "Login" 7. '给用户名控件发送消息:zzxxbb112 8. oAutoIt.ControlSend "Login","","Edit1","zzxxbb112" 9. '给密码控件发送消息:merc
43、ury 10. oAutoIt.ControlSend "Login","","Edit2","mercury" 11. '点击LOGIN按钮 12. oAutoIt.ControlClick "Login","","Button1" 13. set oAutoIt=nothing 简单的介绍一
44、下每一步的意思view plaincopy to clipboardprint?1. Set oAutoIt = CreateObject("AutoItX3.Control") 2.RUN方法 - 启动对应路径的应用程序,这里因为是QTP10.0的因此路径是在HP下的。10.0一下是在MERCURY下的这个可以直接查找下目标就可以了。view plaincopy to clipboardprint?1. oAutoIt.Run "D:Program Fi
45、lesHPQuickTest Professionalsamplesflightappflight4a.exe" < src=" :/ type="text/javascript"> < src=" :/ type="text/javascript"> amp;nbsp;3.这一步是等待LOGIN窗口弹出变为当前激活窗口后,再执行后续的脚本,不然可能出现错误view plaincopy to clipboardprint?1. oAutoIt.WinWait
46、Active "Login" 4.用户名文本框输入Edit1,至于为什么是Edit1可以使用AutoIt v3 window info 查看,这个东西其实就相当于QTP的SPYview plaincopy to clipboardprint?1. oAutoIt.ControlSend "Login","","Edit1","zzxxbb112" view plaincopy to clipboa
47、rdprint?1. oAutoIt.ControlSend "Login","","Edit2","mercury" view plaincopy to clipboardprint?1. oAutoIt.ControlClick "Login","","Button1" view plaincopy to clipboardprint?1. set
48、60;oAutoIt=nothing 这样一个简单登录就完成了,我们运行一下看看,是不是自动化了。总结:由于AUTOIT对于对象识别都比较底层,特别是对CS识别还是不错的,因此有些时候可以用于弥补QTP对象不能识别时的缺乏,比方在BS工程中可能会碰到密码控件不能识别或者一些控件不能成功识别的,可以考虑使用AUTOIT的消息发送发放试试。在AUTOIT中还有很多实用的方法,大家可以自己去看一下,总之AUTOIT绝对是一款非常有用的自动化测试辅助工具。autoit帮助文档: :/ dreams8 /autoit/【软件测试自动化-QTP系列
49、讲座 10】= QTP的两种回放模式 =当你在回放QTP的时候,你是否有注意过QTP在回放的时候鼠标是没有运动的有些朋友肯定会问,既然是CLICK点击为什么鼠标没有动,而QTP回放的时候却可以成功的点击按钮的呢< type="text/javascript"> < src=" :/pagead2.googlesyndication /pagead/show_ads.js" type="text/javascript"> 其实QTP是有两种回放模式的:1. Event模式 -
50、事件跟踪2. Mouse模式 - 鼠标跟踪Event模式就是我们平时默认用的模式,也就是事件,其实QTP的click方法只是触发了对象的CLICK事件,而并未真正通过鼠标来进行点击按钮。而如果我们使用的是Mouse模式的话,我们会看到回放的时候,鼠标是跟着对象走的,也就是鼠标跟踪模式。下面我们来具体看一下是怎么切换回放模式:切换回放模式有两种方法:a.修改QTP OPTIONS设置我们进入到TOOLS-?options-?WEB->ADVANCED 然后列表拖到最下面可以找到REPLAY TYPE我们可以看到QTP默认的回放模式是EVENT,也就是事
51、件跟踪。如果我们现在切换到MOUSE,点击确认后,回放时鼠标就会进行跟踪,不信大家可以试一下。b.代码控制个人推荐第二种为什么推荐这种方式,因为这种方式可以在QTP运行时根据我们的个性化需要来进行控制,随时可以进行开和关而使用第一种方式就不能够到达以上的效果。代码:view plaincopy to clipboardprint?1. Setting.WebPackage("ReplayType") = 2 这句话的意思就是把回放模式设置为2, 1代表事件跟踪,2代表鼠标跟踪很清楚了吧,这样我们就可以在QTP运行时个性化
52、的定制我们的回放模式那说到这里,肯定会有朋友问,那鼠标模式有什么用,我们平时默认的事件模式不是都够用了吗接下来就说一下,我们为什么要使用鼠标模式,比方触发了CLICK事件后,应该弹出页面的,却被IE给拦截了,而手工点击可以成功;还有当我们需要操作鼠标右键的时候,等等这些情况我们都可以临时把回放模式切换成鼠标模式=实例=我们现在要实现右键点击GOOGLE主页中GOOGLE大全的链接view plaincopy to clipboardprint?1. Setting.WebPackage("ReplayType") = 2 2. B
53、rowser("Google").Page("Google").Link("Google 大全").FireEvent "onclick",micRightBtn FireEvent这是个很有用的方法,后续我会详细介绍它的用法这边先附上简单的方法介绍ArgumentDescriptionobjectA test object of type WebElement.EventNameRequired. A String value. The name of eve
54、nt to trigger. Available events: onchange, onclick, ondblclick, onblur, onfocus, onmousedown, onmouseup, onmouseover, onmouseout, onsubmit, onreset, onpropertychange. xOptional. A Long value. The x-coordinate, relative to the upper left corner of the object.yOptional. A Long value. The y-c
55、oordinate, relative to the upper left corner of the object.BUTTONOptional. A predefined constant or number. See the Constants table, below. The mouse button used to fire the object. Default = micLeftBtn (0).【软件测试自动化-QTP系列讲座 11】=AOM应用一 QuickTest Automation这一章的内容网上比较常见,相信很多熟悉QTP的朋友一定也都知道AOM以及熟悉它的用法,但是
56、为了教程的完整性,还是简单的把这一章的内容带一下,觉得已经掌握的朋友可以直接略过。< type="text/javascript"> < src=" :/pagead2.googlesyndication /pagead/show_ads.js" type="text/javascript"> 首先介绍一下什么是AOM· AOM - Automation Object Model 自动化对象模型 简单的说AOM就是一个可以自动化QTP的自动化对象模型,它可以对QTP的进行自动化配置操作以及
57、QTP的运行回放进行自动化等等功能。下面就来看一个最简单的创立AOM的例子:view plaincopy to clipboardprint?1. Dim qtApp 2. Set qtApp = CreateObject("QuickTest.Application") 3. ' 创立对象 4. qtApp.Launch 'Start QuickTest &
58、#160;5. qtApp.Visible = True ' 设置为可见 将以上代码保存为VBS后缀格式的文件后,双击运行即可自动启动QTP应用程序以上代码只是VBScript的调用方式,其实我们还可以有很多种方式去调用QTP的AOMVB:view plaincopy to clipboardprint?1. Dim qtApp As QuickTest.Application 2. ' 申明AOM对象 &
59、#160;3. Set qtApp = New QuickTest.Application 4. ' 创立AOM对象 5. qtApp.Launch ' 启动QTP 6. qtApp.Visible = True ' 设置为可见 C#view plaincopy to clipboardprint?1. QuickTest.Application
60、app = new QuickTest.Application(); 2. / 创立QTP对象 3. app.Launch(); 4. / 启动QTP 5. app.Visible =true; 6. / 让QTP可见 JavaScript:view plaincopy to clipboardprint?1. var qtApp = new A
61、ctiveXObject("QuickTest.Application"); 2. / 创立AOM对象 3. qtApp.Launch(); / 启动QTP 4. qtApp.Visible = true / 设置为可见 这里就引发出了一个问题,为什么那么多语言都能够调用AOM来自动化QTP,这是因为QTP安装程序中已经注册了一个核心DLL文件的COM,这个DLL就是在安装文件夹下的BIN目录下:下面
62、我们就来简单的完成一个启动QTP-?翻开脚本-?回放 这样的一个实例我们在这里使用VBSEDIT工具 引用方法: TOOLS - REFERENCES - add 在TYPELIB PATH中找到这个dll的路径, < src=" :/ type="text/javascript"> < src=" :/ type="text/javascript"> 位于安装路径的BIN目录下2、在
63、引用完DLL后,就可以创立AOM对象,并且会有相应的代码提示 当创立好AOM对象的同时也可以在对象浏览器中看到这个DLL下的所有方法和属性3、完成以下代码之后,这样一个简单的从启动QTP、翻开测试脚本、运行回放、关闭QTP的整个自动化QTP的流程就完成了 view plaincopy to clipboardprint?1. Set qtapp=CreateObject("quicktest.application") 2. '创立对象 3. qtapp.Launch
64、60;4. '启动QTP 5. qtapp.Visible=True 6. '设置为可见 7. qtapp.Open "d:Test" 8. '翻开相应的QTP测试脚本 9. qtapp.Test.Run 10. '运行测试脚本 11. qtapp.Quit 12. '退出QTP 13. Set qtapp=Nothing
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年疾控中心出科考试题库(含答案)
- 2026年家畜饲养考试试题及答案
- 2026年江西省中小学教师招聘考试试卷及答案
- 2026年临床执业医师预防医学专项题库及答案
- 2026年煤矿培训考核试题库150道及参考答案(能力提升)
- 2026年农机驾驶员科目一考试题库模拟题及答案
- 2026年期货从业法规案例题库(含答案)
- 2026年全科医学(301)主治医师《专业实践能力》试卷真题(后附答案)
- 《数据结构》-王兆红(习题及解答)
- 中钨高新深度研究报告:钨全产业链一体化龙头硬质合金产量稳居全球第一
- CNAS实验室认可准则考试题及答案资料文档
- 既有建筑改造工程安全管理手册
- 2025年11月24日上海市选调生面试真题及答案解析(结构化小组)
- 2025年养老管理师考试试题及答案详解
- 铁路劳动安全培训内容
- 08SS704 混凝土模块式化粪池
- 2024仁爱版初中英语单词表(七-九年级)中考复习必背
- 2023 年 5 月全国事业单位联考 C 类《综合应 用能力》及参考答案
- 坐标纸(A4纸直接打印就可用)
- 投笔从戎-成语故事课件
- LY/T 2749-2016桉树速丰林配方施肥技术规程
评论
0/150
提交评论