QTP—Windows程序测试

发表于:2016-12-21 10:50  作者:万物   来源:51Testing软件测试网采编

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试工具 QTP 自动化测试工具

  继上一篇QTPWeb测试后,这一篇将主要讲windows程序的测试。很多在软件测试功能测试—QTP—Web测试中讲的就不再赘述,大体差不多。
  首先打开QTP的时候,不要勾选插件,直接启动即可进行windows程序测试,如果打开的时候没有这个界面,可以先打开QTP,在工具->选项->常规中,勾选 在启动时显示插件管理器 ,重新启动QTP即可。
  一、录制脚本与检查点
  录制脚本的过程还是一样的,点击录制,打开程序,操作程序,停止录制,关闭程序,回放脚本。插入检查点,运行脚本,查看运行结果。这里使用QTP自带的windows程序, X:\Program Files (x86)\HP\Unified Functional Testing\samples\flight\app\flight4b.exe ,在录制->设置中可以修改录制的设置,程序用户名长度大于4即可,密码是mercury,不区分大小写。
  检查点又有:
  · 标准检查点:检查对象的属性信息是否正确,如某个复选框是否被选中
  · 文本检查点:检查程序中的文字信息是否正确
  · 文本域检查点:检查程序中的文字信息(部分文字或相对位置)是否正确
  · 图像检查点:将网页或者窗口上的一部分区域以图像的形式捕获下来,然后判断画面是否正确,如检查一个网页或者网页的一部分是否像预期的那样显示出来
  · 数据库检查点:检查数据库的内容是否正确,如检查数据库的查询值是否正确
  · 我这里插入了两个检查点:一个是检查login按钮属性,一个是检查航班结果属性。
  二、参数化
  这里测试一个完整的订票过程参数化,即一堆登录数据,用户名密码不正确的退出,不订票,用户名密码正确的进入订票流程,然后迭代数据表中的数据,知道数据全部测试完毕。
  1. 测试数据及设置运行
  首先在Global表或action1的local表中写要测试的数据,注意:这里可以用Global表,也可以用action1的表,如果用action1的表,脚本中迭代测试的时候需要自己写for循环脚本,循环执行测试,使用Global表时,只需右键项目,设置好就可以逐行测试。
  下图是我设计的测试数据:第一行和第三行是正确的,其他的都是不能登录的。
  2. 编辑脚本
  在上一步录制完成的基础上修改脚本,脚本中有详细的注释。
Set WshShell = CreateObject("WScript.Shell")
If Not Dialog("Login").Exist Then '如果程序退出了再打开它
Set oExec = WshShell.Exec("D:\Program Files (x86)\HP\Unified Functional Testing\samples\flight\app\flight4b.exe")
End if
Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", dtLocalSheet)  ' 从表中读取用户名
Dialog("Login").WinEdit("Agent Name:").Type  micTab  ' tab到密码
Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtLocalSheet)  ' 从表中读取密码
Dialog("Login").WinButton("OK").Click  ' 点击登录
If Dialog("Login").Dialog("Flight Reservations").Exist Then           ' 登录失败
reporter.ReportEvent 0,"登录功能测试","登录失败!"    ' 输出一个报告
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").WinButton("Cancel").Click                         ' 退出程序
Else  ' 登录成功 购票
reporter.ReportEvent 0,"登录功能测试","登录成功!"
Window("Flight Reservation").WinObject("Date of Flight:").Type "051416"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "12345"
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinEdit("Tickets:").Set "3"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"     ' 退出程序
End if

评 论

论坛新帖



建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海信义律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道