51testing自动化测试学习第一天
2015-05-30 11:36
260 查看
自动化测试包括功能自动化和性能自动化:
陆小刚
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常见的错误:对象识别的四种错误和其他错误:
找到该对象并高亮显示
匹配多个时候选择第一个
参数化:
Datatable.Value(”NumA”,”Global”)
Datatable(”NumA”)
对象属性的参数化
对象名称的参数化
对象值的参数化
陆小刚
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”)
对象属性的参数化
对象名称的参数化
对象值的参数化
相关文章推荐
- 云服务器的优点
- linux一键安装web环境全攻略---来…
- 测试工程师职业规划
- MySQL死锁导致无法查询
- 测试经验分享
- 关于apache进程堵塞时的调试…
- CentOS下Zabbix监控MySQL
- loadrunner使用sockets协议测试C/S…
- 性能测试常见术语
- linux网络相关内容
- LoadRunner学习知多少--IP欺骗使用
- LoadRunner学习知多少--进程和线程…
- 测试工具小结
- LoadRunner学习知多少--Run-time&n…
- LoadRunner学习知多少--检查点
- LoadRunner学习知多少--参数化取值…
- LoadRunner学习知多少--调试与错误…
- ruby on Httpwatch 脚本
- ruby+watir--百度搜索示例
- Ruby+watir自动化测试环境搭建