当前位置:首页 >> 其它课程 >>

精通QTP——自动化测试技术领航 1.4


1.4 认清并请远离 QTP 的脚本录制模式 阶段要点 ● 了解 Keyword View 结构。 ● 摆脱 Keyword View。 ● 熟练掌握 Expert View 的代码结构。 1.4.1 QTP 的两种视图及思维转换 从本章节开始,读者将真正开始彻底摆脱脚本录制,正式走向脚本开发的台阶。在开始讲解 QTP 脚本开发之前, 首先需要详加介绍 Expert View 这

个视图,这个视图是 QTP 官方指定的脚本开发唯一认可的视图。那么,以何为出发 点以及如何介绍 Expert View 这个视图呢?决定以抛砖引玉的方式, 利用脚本录制视图 Keyword View 形象地引出脚本 开发视图 Expert View。 相信只要稍许接触过 QTP 的读者就一定知道 QTP 提供两种视图,一种是 Keyword View(关键字视图),另一种 是 Expert View(专家视图)。Mercury 公司开发两种视图的本意是想让不同类型的人使用不同类型的视图。接下来分 别对这两个视图进行讲解,并开始抛砖,直到引出一块良田美玉。 1.Keyword View(关键字视图) 通过关键字视图(一种图形化的视图),QTP 提供了一种模块化的表格格式,创建和查看测试或组件的步骤。在录 制脚本的过程中,用户在应用程序上执行的每个步骤,在关键字视图中记录为一行,这样用户就可以轻松地修改任何一 部分业务步骤。在这里拿“百度”的首页举一个例子,业务操作分 3 个步骤: 点击“图片”链接; 在图片搜索栏中输入“凤姐”; 点击“百度一下”。 在完成了这 3 个步骤后,关键字视图将包含下列行,如图 1-47 所示。

图 1-47

图 1-47 中可以看到关键字视图非常直观有效,使用的用户可以很清晰地看到被录制对象的录制层次及运行步骤。 但是,如果想自动化完成一些复杂的业务操作,在这张视图里是绝对不可能的,那就必须切换到专家视图里才行。专家 视图等一切事宜就暂且搁置一下。先掌握关键字视图的界面、原理和工作机制。 在关键字视图中,一共分 4 列:Item、Operation、Value 和 Documentation。 Item:记录了所有对象。 Operation:该对象的操作。 Value:对象操作所用到的值。 Documentation:QTP 自动生成的描述语句,描述了是什么对象,做了什么,怎么做。 关键字视图的介绍马上就要结束了,最后作者分解这个视图(语句会很随意)后会直接进入专家试图的解说。前面 说过“在录制脚本的过程中,用户在应用程序上执行的每个步骤在关键字视图中记录为一行”,在本例中一共记录到 6 个 步骤,如下: ● 打开浏览器; ● 进入百度首页; ● 点击[图片]链接; ● 进入图片页面; ● 在[搜索框]输入“凤姐”; ● 点击[百度一下]。 2.Expert View(专家视图) 瞬移成功,首先肯定是要讲专家视图的工作原理,“QTP 在关键字视图中的每个节点在专家视图中对应一行脚本”。 读者可能一下子不明白这句话, 那先来看两段代码, 第一段代码是将关键字视图的工作原理用在专家视图上的错误代码, 转换后的脚本如下: Browser("百度一下,你就知道") '图 1-47 中页面 1 部分 Page("百度一下,你就知道") Link("图 片").Click '图 1-47 中页面 2 部分 Page("百度图片—全球最大中文图片库") WebEdit("word").Set "凤姐"

WebButton("百度一下").Click
再看一下专家视图中正确的代码: '图 1-47 中页面 1 部分 Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("图 片").Click '句 1 '图 1-47 中页面 2 部分 Browser("百度一下,你就知道")._ Page("百度图片—全球最大中文图片库").WebEdit("word").Set "凤姐" Browser("百度一下,你就知道")._ '句 2

Page("百度图片—全球最大中文图片库").WebButton("百度一下").Click '句 3
看完这两段代码以后, 再回过头来理解专家视图的工作原理, 专家视图和关键字视图是完全不同的, 用通俗点的讲, 专家视图并不像关键字视图那样,每个步骤都在视图中记录成一行,在专家视图中,必须定位到业务操作最终的对象, 并且每一句的结束,以及最终的对象的业务行完毕为基准。在这里,最终的对象就是节点,专家视图中的一句代码是关 键字视图中好多个步骤的结合。而那段作者自己伪造的代码就不是,每一句都不完整,要么有头没尾,要么无头有尾, 这就是 Keyword View 和 Expert View 最根本的区别,下面,一句句看专家视图中的代码构成,先以“句 1”来说,“句 1” 中集合了 3 个对象。 Browser—该对象如果出现必定是第一层,可以把它想象成打开的一个指定浏览器,具体哪个浏览器那么就由后面 括号里的参数决定,如:Browser("百度一下,你就知道"),这样 QTP 就能很准确地识别到底打开的是哪个浏览器了。 Page—浏览器下肯定有各种各样的网页。那要定位这个对象也就很简单了,和上面一样,在后面的括号内加参数, 如:Page("百度一下,你就知道"),这样 QTP 就知道了,原来是要定位一个叫“百度一下,你就知道”的网页,然后其他 网页会一概不理! Link—在定位了前两个对象后,终于可以定位到要进行业务操作的对象了。可是,页面上如果有好多 Link 呢,怎么 办?只能和之前一样,在后面的括号内写进参数,如 Link("图 片"),这样 QTP 就不会乱了!好了,在最终找对了要操 作的对象后,就可以给出指令,命令它做事情了,如需要它进行点击操作,那就给 Link 对象来个 Click 方法,到此,整 个语句就可以完毕了。 分析:“句 1”已经被拆解,作者在这里用最通俗的语言方式连贯地叙述一遍“句 1”,希望能让新人听明白。→在一个 叫做“百度一下, 你就知道”的浏览器下的一个名曰“百度一下, 你就知道”的网页页面上找到一个叫“图片”的链接, 找到后, 点击它。

小提示: 在上面的例子中,是以 Browser().Page().Link()的结构出现的,但实际上,在 Web 测试中并不只有这一种固定形 式,除了 Browser 必定是在第一层以外,Page 以及 Link(或其他所有对象控件,如 WebEdit 等)都不是固定必须要 接在前面那层的后面的,比如: (2)Browser().Page().Frame().Link():Link 对象跟在 Frame 对象后面而没有跟在 Page 后面。

(2)Browser().Dialog().Page().WebElement():Page 对象跟在 Dialog 对象后面的一个例子。 接下来再看看“句 2”,这句代码中需要注意 Page 已经变化了,变成了 Page?("百度图片—全球最大中文图片库"), 然后在该页面中找到对象 WebEdit("word"),最后给这个对象一个 Set 的操作方法并在后面写入参数,使得 QTP 在该页 面上找到关键字搜索框,输入“凤姐”。 最后的“句 3”唯一和前者的变化就是最终操作的对象不同了,Browser 不变,页面仍然是 Page("百度图片—全球最 大中文图片库"),最后在前面输入好参数的前提下对 WebButton?("百度一下")这个控件进行一个点击的操作,使得百度 图片搜索引擎能够搜索到一些凤姐的照片。 ************************************终极分析************************************ 以上可以看到 Browser 对象一直使用的是同一个,随着 Page 对象的改变而分成了 2 个分支,在不同的分支上定位 到不同的最终目标并赋予“动作”。所以,现在应该知道关键字视图中的代码结构了。就是通过这样的一层层定位,直到 定位到最后的待操作对象,从而在 Expert View 下完美地组成一句脚本代码。 注:需要引出下一层对象用“.”,直到定位到最后一个待操作对象,然后仍然用“.”赋予其动作(各种不同的方法)。

小提示:在 QTP 中,要找到具体对象,如“图片”这个 Link,规则就是在对象大类(Link 类)后面以括号+引号的形 式具体定位到那个 Link 控件,比如 Link("图片")。需要注意的是,输入括号和引号乃至其他任何符号都必须是在英文状 态下。切记!很容易出现类似的问题,在中文状态的输入法下打引号,结果 QTP 报错,自己找了好长时间也找不出问 题。 概括&小结: 对于 QTP 来说,绝大部分的复杂操作都无法在关键字视图中实现,例如,要处理动态对象、需要定制个性化测试 结果、获取对象运行时的属性值(Run-time Value)等。 QTP 的核心编码语言是 Visual Basic Script,因此,如果读者熟悉 VBScript,就可以运用自如地通过编程方式在 专家视图中设计复杂的测试脚本。同样,QTP 本身的对象库编程(Object Programming)和描述性编程(Descriptive Programming),这一切也都必须在专家视图中才能完成。 关于对象库编程、描述性编程、VBScript 编程、Run-time Value、处理动态对象等一系列知识都会在后面的章节中 逐步向读者呈现。 1.4.2 总结 不知道有些读者会不会有这样的疑问,本书既然一向有“彻底抛弃脚本录制”的理念,那为什么还要写 Keyword Vie w(关键字视图)的内容呢,就算要写只一句话带过不就得了!作者由衷地希望有这些疑问的读者越多越好,这说明广 大读者就是冲着“抛弃录制”的思想购买这本书的。现在听作者解释一下吧。 作者这么做就是因为想抛出一块好砖引出更好的玉,在抛砖的时刻(笼统、重点配合一个实例介绍关键字视图)如 果能做,越有声色,后面引出的玉一定就能更好(将关键字视图中的步骤“画面”,一条一条转进专家视图使其成为脚本 代码的一个解读过程)。另外,请重新回顾下这个小章节标题的后半部分“思维转换”。作者觉得更应该引导读者转换的 是思想、思维,绝对不该是两个视图间的转换那么简单与粗糙。读者要从思想上去认识 Expert View,如果光从操作上 直接转向 Expert View(直接在关键字视图敲击代码),表面上看很简单很轻松,但其实忽略了对专家视图的认识,也 忽略了对 QTP 两个视图原理以及之间关系和不同点上的认识,如果这样走下去,作者觉得在今后脚本开发的学习道路 上挫折会越来越多,地基打好的关键性大家都很明白。相信,本书的这一个小章节内容虽少,但是对今后的帮助不一定 少! 知识点巩固和举一反三练习 一、大家来找茬(结合图 1-48 找出代码片中的错误)

图 1-48 代码片如下: Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("知 道").Click Browser("百度百科—全球最大中文百科全书")._

Page("百度百科—全球最大中文百科全书").WebEdit("word").Click Browser(百度一下,你就知道)._

Page("百度百科—全球最大中文百科全书").WebButton("进入词条").Set "51testing"
二、请根据图 1-49 中关键字视图的结构与步骤转化成专家视图中的代码。

图 1-49


相关文章:
(二)精通QTP——自动化测试技术领航
(二)精通QTP——自动化测试技术领航_计算机软件及应用_IT/计算机_专业资料。精通QTP——自动化测试技术领航作者:余杰(作者), 赵旭斌(作者), 51 Testing软件测试网...
(一)精通QTP——自动化测试技术领航
(一)精通QTP——自动化测试技术领航_计算机软件及应用_IT/计算机_专业资料。精通QTP——自动化测试技术领航作者:余杰(作者), 赵旭斌(作者), 51 Testing软件测试网...
精通QTP——自动化测试技术领航 2.1
2.1 VBScript 在项目中的应用 阶段要点 ● Option Explicit 的使用。 ● VBScript 基础知识解析。 ● 10 个在实际项目中常用的 VBS 函数。 ● 类在 VBS 中...
自动化测试技术领航实例-发布日志及内容验证
自动化测试技术领航实例-发布日志及内容验证_计算机软件及应用_IT/计算机_专业...(一)精通QTP——自动化测... 6页 1下载券 自动化测试技术研究及其... 75...
2014自动化测试技术
精通 QTP——自动化测试技术领航》. 人民邮电出版社 (2)陈能技.《QTP 自动化测试实践》. 电子工业出版社 (3)陈霁. 《性能测试进阶指南——LoadRunner 11 ...
自动化测试工具QTP和SilkTest比较
自动化测试工具QTP和SilkTest比较_计算机软件及应用_IT/计算机_专业资料。自动化...这直接造成了门槛偏 高,等于做测试的人一定、必须精通编程,而不能只是能改改...
4117《软件自动化测试技术》-课程教学大纲
2、《精通 QTP——自动化测试技术领航》,余杰,赵旭斌 编著,人民邮电出版社, 2012-01-01。 3、《软件自动化测试工具实用技术》,胡铮编著,科学出版社,2011-05-...
《软件测试》课程设计任务书
[1] 软件测试方法和技术(第二版)朱少民 2010年 [2] 软件测试技术与实践魏金岭、韩志科、周苏 2012年 [3] 精通QTP——自动化测试技术领航 魏金岭、韩志科、周...
2014自动化测试技术-课设报告模版
2014自动化测试技术-课设报告模版_计算机软件及应用_IT/计算机_专业资料。实验报告...《精通 QTP——自动化测试技术领航》. 人民邮电出版社 (2)陈能技.《QTP ...
2014自动化测试技术-课设报告
精通 QTP——自动化测试技术领航》. 人民邮电出版社 (2)陈能技.《QTP 自动化测试实践》. 电子工业出版社 (3)陈霁. 《性能测试进阶指南——LoadRunner 11 ...
更多相关标签:
qtp自动化测试 | qtp自动化测试实践 | qtp自动化测试教程 | qtp自动化测试工具 | qtp自动化测试视频 | qtp自动化测试步骤 | qtp自动化测试框架 | qtp自动化测试进阶pdf |