4. 过程指南深入探秘
要想把过程指南的作用发挥到极致,仅仅是把一些包含帮助信息的静态HTML页面作为过程指南是不够的,我们希望能像QTP自带的那几个过程指南一样,可以直接调出QTP的设置界面,关于这部分,QTP的帮助文档好像没有详细地说明应该如何做。但是不要紧,我们可以仿照QTP默认自带的过程指南文件,探索一下里面的奥秘,然后自己来做。
(1)从表面分析QTP自带的过程指南。
首先,我们打开一个包含了可调出QTP设置界面的“活动”,例如“Define Your Testing Environment”,如图11所示。
图11 “Define Your Testing Environment”活动的HTML页面
在其中的“About QuickTest Professional”的链接上单击右键,可看到QTP的状态栏中(如图12所示)闪现这样一段文字:
Javascript:window.external.ui.ShowUIElement(‘AboutDialog’);
图12 在状态栏出现的文字
由此,我们可以猜测QTP在执行这个链接的单击动作时,会运行一段JavaScript脚本,调出名为“AboutDialog”的外部窗口,而这个外部窗口实际上就是QTP的“About QucikTest Professional 9.5”对话框,如图13所示。
图13 QTP的“About QucikTest Professional 9.5”对话框
(2)从QTP自带的过程指南文件所在的目录进行分析。
为了进一步探索其中的机制,我们打开QTP9.5安装目录查找“Process Guidance”,可找到如图14所示的几个文件:
图14 打开QTP9.5安装目录查找“Process Guidance”
其中ProcessGuidance.dll应该是QTP中用于处理过程指南文件的核心代码的DLL,我们可以在VS.NET 2005中查看ProcessGuidance.dll的类,如图15所示。
图15 在VS.NET 2005中查看ProcessGuidance.dll的类
从对象浏览器可以看到ProcessGuidance.dll中包含了处理过程指南文件的类、属性和方法,例如dtsData.ProcessesRow中就包含了与过程指南XML文件的几个关键的TAG:ID、Name、SortLevel等。
而ProcessGuidance.exe是过程指南的视频文件,介绍如何使用过程指南,如图16所示。
图16 ProcessGuidance.exe是过程指南的视频文件
(3)从配置文件进行分析。
目录中还有一个ProcessGuidance文件夹,进入该文件夹(“<QTP安装目录>\dat\ProcessGuidance”),可以看到很多HTML文件,当然也包括配置文件“Configuration.xml”。
打开Configuration.xml文件,可看到其中定义了QTP的关键字过程指南中的“Define Your Testing Environment”这个活动对应的HTML文件是“KWV_Intro_AUT.html”:
<Activity Name="Define Testing Environment" ID="Analyze_1" Address="KWV_Intro_AUT.html" Class="1" />
(4)分析过程指南的HTML文件的源代码。
在目录中找到HTML文件“KWV_Intro_AUT.html”,用IE浏览器打开如图17所示。
图18 拷贝到自定义过程指南的HTML文件中,调出QTP的“About”窗口
因此,按照这种HTML的代码编写方法,我们可以像QTP默认自带的过程指南那样,调出QTP的各个设置窗口。
5. 小结
本文介绍了QTP最新版本9.5中的新特性“过程指南”(Process Guidance),讲述了如何通过使用过程指南来学习和熟悉QTP的各项功能、测试方法和具体操作方法。过程指南确实能有效地帮助初学者“边学边做”。
另外,通过自定义过程指南,自动化测试团队可以把一些规范性的东西、类似工作流、工作指引的东西放到自定义的过程指南文件中,设置把测试脚本的编码规范、常用测试脚本、函数放到过程指南的合适位置,让自动化测试工程师可以随时访问和获取。通过本文对过程指南机制和自定义过程指南的方法的探索结果,我们完全可以实现这一目标。