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

精通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——自动化测试技术领航 1.4
精通QTP——自动化测试技术领航 1.4_其它课程_高中教育_教育专区。1.4 认清并请远离 QTP 的脚本录制模式 阶段要点 ● 了解 Keyword View 结构。 ● 摆脱 Keyword...
精通QTP——自动化测试技术领航(修订版)
精通QTP——自动化测试技术领航(修订版)_电脑基础知识_IT/计算机_专业资料。1....1.4.2 总结 不知道有些读者会不会有这样的疑问, 本书既然一向有“彻底抛弃...
精通QTP——自动化测试技术领航
68 1.4 认清并请远离 QTP 的脚本录制模式 ......364 精通 QTP——自动化测试技术领航 第1章 1.1 测试脚本开发从零开始 自动化测试从零开始 阶段要点 自动...
精通QTP——自动化测试技术领航
68 1.4 认清并请远离 QTP 的脚本录制模式 ......366 精通 QTP——自动化测试技术领航 第1章 1.1 测试脚本开发从零开始 自动化测试从零开始 阶段要点 自动...
(一)精通QTP——自动化测试技术领航
(一)精通QTP——自动化测试技术领航_计算机软件及应用_IT/计算机_专业资料。精通QTP——自动化测试技术领航作者:余杰(作者), 赵旭斌(作者), 51 Testing软件测试网...
精通QTP——自动化测试技术领航 1.7
精通QTP——自动化测试技术领航 1.7_计算机软件及应用_IT/计算机_专业资料。1.7 描述性编程(Descriptive Programming) 阶段要点 ● 描述性编程不高深。 ● 描述性...
精通QTP——自动化测试技术领航 2.1
2.1 VBScript 在项目中的应用 阶段要点 ● Option Explicit 的使用。 ● VBScript 基础知识解析。 ● 10 个在实际项目中常用的 VBS 函数。 ● 类在 VBS 中...
2014自动化测试技术
精通 QTP——自动化测试技术领航》. 人民邮电出版社 (2)陈能技.《QTP 自动化测试实践》. 电子工业出版社 (3)陈霁. 《性能测试进阶指南——LoadRunner 11 ...
2014自动化测试技术-课设报告模版
2014自动化测试技术-课设报告模版_计算机软件及应用_IT/计算机_专业资料。实验报告...《精通 QTP——自动化测试技术领航》. 人民邮电出版社 (2)陈能技.《QTP ...
2014自动化测试技术-课设报告
精通 QTP——自动化测试技术领航》. 人民邮电出版社 (2)陈能技.《QTP 自动化测试实践》. 电子工业出版社 (3)陈霁. 《性能测试进阶指南——LoadRunner 11 ...
更多相关标签:
自动化测试技术领航 | qtp自动化测试实践 | qtp自动化测试 | qtp自动化测试教程 | qtp自动化测试框架 | qtp自动化测试工具 | qtp自动化测试视频 | qtp自动化测试进阶 |