自动化测试包括功能自动化和性能自动化:
陆小刚
luxiaogang@51testing.com
功能自动化:
工具:QTP(70%,VBS,插件,免费试用),selem(java+web+框架),reboot(rft,c语言)
发展:终端发展,QTP下滑,selem上升(但低于QTP)
历史:astra公司的astra quicktest/mercury的winrunner/rational的robert
性能自动化:
工具:LR,RPT,jmeter
以下方法在WIN7 + QTP 11环境下试验通过,可以随时恢复QTP 11为30days试用版,方法非常简单。
1.找到C:\ProgramData\SafeNet Sentinel目录,更名或者删除
2.找到QTP11安装目录下bin子目录,执行instdemo.exe
如C:\Program Files (x86)\HP\QuickTest Professional\bin,
C:\Program Files\HP\QuickTest Professional\bin
Add-in Manager:尽量选必不可少的,微软的基本不需要插件(默认含有VC)
.net(包含VB.NET)
Delphi(编译中需要加入特定的代码)
Teminal终端测试的插件
QTP正式开始:
SystemUtil.Run 打开一个外部程序
CheckPoint:检查点
参数化:data table
删除data table:选择行,点击Edit—Delete(ctrl+k)
对象:
1内置对象
对象 windows
2测试对象
类(对象名)windows(“计算机”)
3父子对象关系
父.子 Window("计算器").WinButton("1")
方法:
1方法无入参
.close
2方法有入参,且方法无返回结果
对象方法 参数1,参数2
3方法有入参,且方法有返回结果
对象方法(参数1,参数2)
对象识别
QTP基于对象属性的识别
输入的方法Set 和Type和SetSelection的区别:
Set:
1使用于文本框对象
2不能输入的时候报错
3覆盖赋值
4光标不改变
Type:
1能够输入的都可以使用Type方法
2直接往里面键入值
3追加赋值
4光标从开始随着键入值走
SetSelection:
SetSelection 0,1(第一位到第二位)
SetSelection 0,1,2,3(第一行第二位到第三行第四位)
Select方法:可以输入的
1:Select+”名称”
2:Select+序号(第N+1个)
选择最后一个选项:
Select Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount-1
对象.Activate “名称”
1:激活
2:双击选择
QTP的工作原理:根据对象库中测试对象的属性值的
测试对象(TO):录制时候的对象,也是脚本中的对象
运行对象(RUNTIME OBJECT):运行时候的对象
QTP常见的错误:对象识别的四种错误和其他错误:
NO | 时间 | 类型 | KEY word | 原因 | 解决 |
1 | 立刻 | 找不到 | Was not found | 对象名称不一致 | 改名称一致 |
2 | 等待 | 匹配不到 | Cannot identify | 属性不一致 | 改测试对象属性 |
3 | 立刻 | 匹配多个 | More than one | 测试对象属性不够多 | 加属性或者设置 |
4 | 等待 | 父对象错 | Parent | 父对象没有或者多个 | 上面两个 |
5 | 立刻 | 语法错误 | | | |
6 | 等待 | 方法暂时无法执行 | Object is Disabled | 如按钮被挡住 | 去除挡住的窗口 |
找到该对象并高亮显示
匹配多个时候选择第一个
参数化:
Datatable.Value(”NumA”,”Global”)
Datatable(”NumA”)
对象属性的参数化
对象名称的参数化
对象值的参数化