QTestWare 是专为 QTP 自动化测试工程师设计和开发的工具包,是 QTP 自动化测试的基础框架, QTestWare 解决了很多控件识别、录制的问题,并且增强了很多控件的测试接口,让 GUI 控件测试更加简单、便捷,让 QTP 测试脚本更加稳健,可维护性和可重用性更强。
QTestWare 帮您解决很多控件的录制问题,例如对于 .NET 控件 TrackBar ,普通的录制将得到如下脚本:
SwfWindow("Form1").SwfObject("trackBar1").Drag 13,12
SwfWindow("Form1").SwfObject("trackBar1").Drop 32,10
录制下来的是鼠标在 TrackBar 控件上的拖拽动作,这些脚本不仅可读性差,并且回放容易失败,而且不容易理解和维护脚本。
采用 QTestWare 后,同样的操作将录制成如下脚本:
SwfWindow("Form1").SwfObject("trackBar1").SetValue 6
录制下来的是设置 TrackBar 控件的位置值的脚本,这样脚本更容易理解,并且回放能准确定位到指定的 TrackBar 位置,而且增强了脚本的可维护性,这样的脚本要比前面的脚本更容易修改、更容易参数化。
QTestWare 帮您解决很多控件的识别问题,例如对于 .NET 控件 PropertyGrid ,普通的录制将得到如下脚本:
SwfWindow("Form1").SwfObject("PropertyGridView").Click 76,11
脚本不能识别 PropertyGrid 中的每一项,只能采用坐标位置的方式来记录,而这种方式是非常不稳定,而且无法读取和设置 PropertyGrid 中的每一项属性值。
采用 QTestWare ,您可以通过 FindPropertyByLabel 来读取 PropertyGrid 中的每一项属性值:
SaveOnClose = SwfWindow("Form1").SwfObject("PropertyGrid").FindPropertyByLabel("SaveOnClose")
MaxRepeatRate = SwfWindow("Form1").SwfObject("PropertyGrid").FindPropertyByLabel("MaxRepeatRate")
AppVersion = SwfWindow("Form1").SwfObject("PropertyGrid").FindPropertyByLabel("AppVersion")
您可以通过 SetPropertyGridValue 来设置 PropertyGrid 中的每一项属性值:
SwfWindow("Form1").SwfObject("PropertyGrid").SetPropertyGridValue "SaveOnClose" ,"True"
SwfWindow("Form1").SwfObject("PropertyGrid").SetPropertyGridValue "MaxRepeatRate","3"
SwfWindow("Form1").SwfObject("PropertyGrid").SetPropertyGridValue " AppVersion ","1.0"
采用 QTestWare ,可以帮助您缩短脚本行数,让您的自动化测试脚本更加简明扼要,例如,对于 .NET 控件 MenuStrip ,普通的录制一个菜单项选择的脚本至少包括两行脚本:
SwfWindow("Form1").SwfToolbar("menuStrip1").ShowDropdown " 文件 "
SwfWindow("Form1").SwfToolbar("menuStrip1").Select " 文件 ; 打开 ; 最近 ...;A.doc"
如果录制时,对于每个级联菜单都用鼠标点击的话,则可能得到更长的录制脚本:
SwfWindow("Form1").SwfToolbar("menuStrip1").ShowDropdown " 文件 "
SwfWindow("Form1").SwfToolbar("menuStrip1").Select " 文件 ; 打开 "
SwfWindow("Form1").SwfToolbar("menuStrip1").Select " 文件 ; 打开 ; 最近 ..."
SwfWindow("Form1").SwfToolbar("menuStrip1").Select " 文件 ; 打开 ; 最近 ...;B.doc"
采用 QTestWare ,可以利用 QTestWare 的 SelectMenu 方法把脚本压缩到一行即可:
SwfWindow("Form1").SwfToolbar("menuStrip1").SelectMenu " 文件 ; 打开 ; 最近 ...;C.doc"
得到的是更加简短的测试脚本、更加容易理解和维护的脚本。
QTestWare 从测试脚本开发角度出发,为您封装了各种可重用性极强的脚本,总结业界最佳实践,抽取控件测试逻辑成为核心测试方法,为您节省了大量的脚本开发时间。例如,对于 .NET 控件 DataGridView , QTP 通过 SwfTable 来支持控件的测试,但是提供的测试操作过于基础,例如选择某个单元格, SwfTable 仅提供了 SelectCell ( Row,Column )这样的测试方法:
SwfWindow("Form1").SwfTable("dataGridView1").SelectCell 0,"OrderID"
自动化测试工程师往往需要进一步地编写测试脚本来扩展,以便满足测试用例的实现需要,而这一切, QTestWare 都帮你设计好了,例如,通过 QTestWare 的 SelectCellByText ,可以选择 DataGridView 中指定内容的单元格:
SwfWindow("Form1").SwfTable("dataGridView1").FindCellByText "107 号 "
通过 QTestWare 的 SelectRowByField ,可以查找到某列中单元格为指定内容的单元格所在的行,并将该行设置为选中状态:
SwfWindow("Form1").SwfTable("dataGridView1").SelectRowByField "OrderID","10031"
QTestWare 采用了自动化测试领域的最佳实践,融合了业界领先的框架设计思想,采用了先进成熟的 QTP 核心技术,例如 QTP 插件扩展技术。
自动化测试的成本包括脚本开发和维护成本,开发可重用性和可维护性高的核心基础框架是降低开发成本和维护成本的最佳办法。 QTestWare 为您封装了大量的控件录制、识别和测试操作函数,是您搭建自动化测试框架的最佳选择。
VS.NET
CheckedListBox 、 ContexMenuStrip 、 DataGridView 、 DomainUpDown 、 ListView 、 MaskedTextBox 、 MenuStrip 、 PropertyGrid 、 StatusStrip 、 ToolStrip 、 TrackBar 、 TreeView
ComponentOne
FlexGrid 、 MainMenu 、 ToolBar 、 TrueDBGrid
DevComponents.DotNetBar
advTree、DataGridViewX、ItemPanel、checkBoxX、ribbonBar、SuperTabStrip、siderBarPanel、tabStrip、bar、vScrollBarAdv、hScrollBarAdv、ExpandablePanel
Web
Browser 、 Page 、 WebList 、 WebTable 、 WebCheckBox 、 WebEdit
YUI
Calendar 、 DataTable 、 Slider 、 TreeView
ExtJS
CheckTree、ComboBox、Form、Grid、Menu
VB & ActiveX
MSFlexGrid、VbLabel、VbListView、DataGrid
CodeJock Xtreme Suite
DatePicker 、PropertyGrid、TaskPanel、ShortcutBar、ReportControl
XPSuite
Flex
FlexTextArea、FlexCheckBox
(更多控件支持正在持续开发和更新中...)
产品咨询与培训: [email protected]