[原]【软件测试自动化-QTP系列讲座 45】== JScript在QTP中的应用探究(一) ==
2011-11-16 14:13
190 查看
作者:zzxxbb112
时间:2011/11/16 版权所有,侵权必究。
出处:http://blog.csdn.net/zzxxbb112
我们都知道QTP工具的后台语言是VBScript,并且也只能唯一支持VBScript语言来进行执行测试脚本。但是你有没有想过试用JS来运行你的测试脚本呢。那样就会是一个完全不同的面向对象的世界,可以试用prototype来扩展行为,更好的try……catch异常处理机制,这些都是VBS语言所无法触及的。
那么接下来就来看一个简单的例子
首先确保你的QTP最新版本11,因此接下来要演示的是11才有的新功能。
实例1 - 输出消息框:
分析:以上脚本首先是打开IE,接着跳转页面后,到了第三行大家会看到RunScript这个方法,可能你会比较陌生,其实它是QTP11加入的可执行JScript脚本的最新方法函数。这里我们加入了JS中类似与msgbox功能的函数alert弹出框,注意JS的结尾需要加上分号,这一点写习惯vbs的话会很容易漏掉。
执行结果:
实例2 - Jscript与Vbscript之间的数据传递
有些时候我们往往希望在jscript运行的变量层能够允许Vbscript脚本变量层进行访问,但是它们往往不能直接互相访问,因为它们是处在两个不同的空间里的,那么如果需要访问就需要一个桥梁,在QTP中它其实也提供了此方法 ,来看一下实例。
首先新建一个iquicktest.js文件,内容如下:
完毕后保存为c:\iquicktest.js
接着在QTP中输入以下脚本:
分析:在QTP的说明文档中规定,如果需要传递值就必须在js中通过push的方式把值传递出来,接着通过RunScriptFromFile方法返回一个JScriptTypeInfo类型的对象出来,注意必须以set方式把其当作对象接收,最终把所有值打印出来。
结果:
分别打印了 zzxxbb112, www.iquicktest.com.
总结:
这一章主要是简单让大家尝鲜了一下jscript在QTP中的初步应用,在下一讲内容我们会讲座如何在QTP脚本编辑器中直接运行js脚本,揭秘当初QTP大师Tarun视频演示JScript直接运行QTP脚本内容(到目前为止并为公开此技术),这将会是真正意义上的划时代。
Rss订阅IQuickTest(关于如何订阅?)
作者:zzxxbb112 发表于2011-11-16 14:12:46 原文链接
阅读:2085 评论:5 查看评论
时间:2011/11/16 版权所有,侵权必究。
出处:http://blog.csdn.net/zzxxbb112
我们都知道QTP工具的后台语言是VBScript,并且也只能唯一支持VBScript语言来进行执行测试脚本。但是你有没有想过试用JS来运行你的测试脚本呢。那样就会是一个完全不同的面向对象的世界,可以试用prototype来扩展行为,更好的try……catch异常处理机制,这些都是VBS语言所无法触及的。
那么接下来就来看一个简单的例子
首先确保你的QTP最新版本11,因此接下来要演示的是11才有的新功能。
实例1 - 输出消息框:
Dim iquicktest iquicktest = "blog.csdn.net/zzxxbb112" systemutil.Run "C:\Program Files\Internet Explorer\iexplore.exe",iquicktest Browser("micClass:=Browser").Page("micClass:=Page").RunScript "alert('iquicktest');"
分析:以上脚本首先是打开IE,接着跳转页面后,到了第三行大家会看到RunScript这个方法,可能你会比较陌生,其实它是QTP11加入的可执行JScript脚本的最新方法函数。这里我们加入了JS中类似与msgbox功能的函数alert弹出框,注意JS的结尾需要加上分号,这一点写习惯vbs的话会很容易漏掉。
执行结果:
实例2 - Jscript与Vbscript之间的数据传递
有些时候我们往往希望在jscript运行的变量层能够允许Vbscript脚本变量层进行访问,但是它们往往不能直接互相访问,因为它们是处在两个不同的空间里的,那么如果需要访问就需要一个桥梁,在QTP中它其实也提供了此方法 ,来看一下实例。
首先新建一个iquicktest.js文件,内容如下:
function iquicktest() { var ret = []; var myName,myWebsite ; myName = 'zzxxbb112'; myWebsite = "www.iquicktest.com" ret.push(myName); ret.push(myWebsite); return ret; } iquicktest();
完毕后保存为c:\iquicktest.js
接着在QTP中输入以下脚本:
'定义变量 Dim iquicktest : iquicktest = "blog.csdn.net/zzxxbb112" '启动浏览器,并跳转页面 systemutil.Run "C:\Program Files\Internet Explorer\iexplore.exe",iquicktest '运行jscript脚本并传递回参数 set arr = Browser("micClass:=Browser").Page("micClass:=Page").RunScriptFromFile("c:/1.js") '分割字符串 arr = split(arr,",") '遍历所有值并打印 For each i in arr msgbox i Next
分析:在QTP的说明文档中规定,如果需要传递值就必须在js中通过push的方式把值传递出来,接着通过RunScriptFromFile方法返回一个JScriptTypeInfo类型的对象出来,注意必须以set方式把其当作对象接收,最终把所有值打印出来。
结果:
分别打印了 zzxxbb112, www.iquicktest.com.
总结:
这一章主要是简单让大家尝鲜了一下jscript在QTP中的初步应用,在下一讲内容我们会讲座如何在QTP脚本编辑器中直接运行js脚本,揭秘当初QTP大师Tarun视频演示JScript直接运行QTP脚本内容(到目前为止并为公开此技术),这将会是真正意义上的划时代。
Rss订阅IQuickTest(关于如何订阅?)
作者:zzxxbb112 发表于2011-11-16 14:12:46 原文链接
阅读:2085 评论:5 查看评论
相关文章推荐
- 【软件测试自动化-QTP系列讲座 45】== JScript在QTP中的应用探究(一) ==
- 【软件测试自动化-QTP系列讲座 45】== JScript在QTP中的应用探究(一) ==
- 【软件测试自动化-QTP系列讲座 46】== JScript在QTP中的终极探究(二) ==
- [原]【软件测试自动化-QTP系列讲座 46】== JScript在QTP中的终极探究(二) ==
- 【软件测试自动化-QTP系列讲座 9】== AutoItX技术的应用 ==
- 【软件测试自动化-QTP系列讲座 28】==正则表达式的应用 ==
- 【软件测试自动化-QTP系列讲座 21】 == 单例模式在QTP中的应用 ==
- 【软件测试自动化-QTP系列讲座 12】 ==AOM应用(二)Object Repository Automation==
- 【软件测试自动化-QTP系列讲座 37】== MFL自动化路径模型对象应用 ==
- 【软件测试自动化-QTP系列讲座 26】==保留对象XmlUtil的应用 ==
- 【软件测试自动化-QTP系列讲座 27】== ArrayList数组类在DotnetFactory中的应用 ==
- 【软件测试自动化-QTP系列讲座 23】 == QTP中API的应用 ==
- 【软件测试自动化-QTP系列讲座 11】== AOM应用(一)+QuickTest+Automation ==
- 【软件测试自动化-QTP系列讲座 5】== DOM技术的应用 ==
- 【软件测试自动化-QTP系列讲座 1】==Add-in Manager插件介绍==
- 【软件测试自动化-QTP系列讲座 22】 == 描述性编程 ==
- 【软件测试自动化-QTP系列讲座 24】 == 创建保留对象的会话实例 ==
- 【软件测试自动化-QTP系列讲座 25】==重载页面后Web对象的重用 ==
- 【软件测试自动化-QTP系列讲座 14】 == 揭开QTP的神秘面纱 (一)隐藏对象篇 ==
- 【软件测试自动化-QTP系列讲座 8】==自定义COM组件的实现 (二)activex dll生成篇==