软件测试工具理解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/