• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试工具理解QTP Action的分割

发布: 2010-11-10 10:56 | 作者: 网络转载 | 来源: 领测软件测试网采编 | 查看: 136次 | 进入软件测试论坛讨论

领测软件测试网

软件测试工具理解QTP Action的分割

Mercury QuickTest 企业级自动化测试工具!   目前已经被惠普收购,正式名字为HP QuickTest Professional software ,最新的版本为HP QuickTest Professional 10.0.   HP QuickTest Professional 提供符合所有主要应用软件环境的功能测试回归测试的自动化。采用关键字驱动的理念已简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。

前面介绍的脚本基本上都只有一个Action。可以看到,在自动创建的测试脚本的关键字视图中,所有步骤的根节点都是Action1。所谓Action,就是动作的意思,它是一系列操作步骤的集合,在QTP中,可以将整个Action测试脚本分成多个Action,每个Action就是一个相对独立的逻辑单元,而一个QTP测试脚本就是由顺序调用每个Action的操作构成的。
  根据自己的需要,我们可以将Action分割成多个Action。比如:我们录制一个脚本,该脚本是先登陆,再查找bug,最后退出。根据case,运用边界值的测试方法,现在我们查找编号为1的bug,和查找编号为中间的bug,再查找编号为最后一个的bug。进行参数化进行测试。大家可以发现你的脚本是用相同的用户名和密码登陆了三次,再退出了三次。下面是实现该功能的脚本。
  Browser("Bugzilla Main Page").Page("Bugzilla Main Page").Link("Log in to an existing").Click
  Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_login").Set "root@btest00.com"
  Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_password").SetSecure "49d1da6794fc0b5a74283ab70d0b88a33165"
  Browser("Bugzilla Main Page").Page("Login").WebButton("Login").Click
  Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Set "1"
  Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Submit
  Browser("Bugzilla Main Page").Page("Bug 1 - 11111111111").Link("Log out").Click
  Browser("Bugzilla Main Page").Page("Logged Out").Sync
  Browser("Bugzilla Main Page").Close
  但是,我想要的是登陆一次,查找三个bug,退出一次。这样的脚本是不是更好一些?要想实现该功能,我们可以使用Action分割来实现。在实现登陆的时候我进行分割,再查找bug的时候进行分割,最后退出实现分割。Action的名字根据自己的需要可以随便的设置,最好取一个你自己能够看的懂意思的名字。我是用 login,find,和logout来设置的。大家要注意,这里要设置自己的sheet,即实现自己的对象仓库,对于对象仓库的概念和作用,不在本次介绍的内容,有时间的话,我再介绍。以下是我实现好的脚本。
1.Login
Browser("Bugzilla Main Page").Page("Bugzilla Main Page").Link("Log in to an existing").Click
Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_login").Set "root@btest00.com"
Browser("Bugzilla Main Page").Page("Login").WebEdit("Bugzilla_password").SetSecure "49d1da6794fc0b5a74283ab70d0b88a33165"
Browser("Bugzilla Main Page").Page("Login").WebButton("Login").Click
2.Find
Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Set "1"
Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Submit
3. logout
Browser("Bugzilla Main Page").Page("Bug 1 - 11111111111").Link("Log out").Click
Browser("Bugzilla Main Page").Page("Logged Out").Sync
Browser("Bugzilla Main Page").Close
现在的脚本是实现了Action分割的功能,但是跟我所说的登陆一次,查找三次和退出一次还没有实现。此时只要在find中将查找bug进行参数化三次和设置find执行三次就可以。
实现的脚本只有find中有些变化。
如:Browser("Bugzilla Main Page").Page("Find a Specific Bug").WebEdit("id").Set DataTable("find", dtLocalSheet)

  最后提一个小小的问题,让大家进行思考?
  如果所有的脚本都要从头到尾自己进行编写,是不是太累,太辛苦。我们可不可以将人家写好的脚本拿来用在我的脚本中,也就是要实现脚本的复用呢?下次我准备写该方面的内

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网