QTP,自己主动化測试学习笔记,六月九号
測试自己主动化实现的两个难点
设计——功能分解
实现——对象的识别
測试自己主动化实现的两个难点—功能分解
清晰画出业务流程图
依据业务流程分解业务功能。能够被复用的功能也要被分解出来。
依照路径覆盖的思想。组织測试用例
測试自己主动化实现的两个难点—对象识别
创建測试 获取被操作对象的属性信息
使用唯一的对象名在对象仓库中记录该对象。
标识关键属性信息
在脚本中记录对象名称和对应的动作。
执行測试
从脚本中获得对象名称。
在对象仓库中定位对象。并获取其关键属性。
依据关键属性信息在被測应用中定位对象。
依据脚本中录入的动作执行对应的操作。
測试对象管理机制 Resources->Object Repository(对象仓库)
| 序号 | Web对象 | 推荐识别属性 | 方法參数 |
| 1 | Browser | creationTime | |
| 2 | Page | index | |
| 3 | Frame | name | |
| 4 | WebTable | name | |
| 5 | WebEdit | name | Set |
| 6 | WebButton | text | Click |
| 7 | WebList | name | Select“#index” |
| 8 | Link | text | Click |
| 9 | Image | name | |
| 10 | WebCheckBox | name | Set “on/off” |
| 11 | WebRadioGroup | name | Select“#index“ |
| 12 | WebElement | innertext/html | tag |
在对象仓库中加入新对象
Resources->Object Repository
->Add Objects
Active Screen 的对象->右击,快捷菜单View/Add Object
语法自己主动完毕
tools--->view options-->auto-expand vbscript syntax
凝视:ctrl+m, ctrl+shift+m
QTP描写叙述性编程
关闭浏览器进程 systemutil.CloseProcessByName("iexplore.exe")
打开浏览器 systemutil.Run "C:\ProgramFiles\InternetExplorer\iexplore.exe","http://192.168.93.10:8080/mtours/servlet/com.mercurytours.servlet.WelcomeServlet"
“浏览器路径” ,“訪问连接”
打开程序 systemutil.Run "C:\calc.exe" (计算器)
实例Browser(“creationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set “1000”
在第一个被创建的IE窗体,查找name属性为amount的输入框,输入数据1000
Browser(“creationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click
在第二个被创建的IE窗体,查找button。该button上显示的文字是“保存”,点击该button
Window("计算器").WinButton("text:=C","Index:=1").Click
QTP对象属性
对象识别的优先级:强制属性→辅助属性→智能标识→顺序标识
顺序模式:Order Identifier有3中策略
用途:多个同名的
Index(代码):源码中的显示顺序
Location(出现):界面中的顺序
CreatTime(打开):Browser对象有。该浏览器打开的顺序
QTP获取属性值函数
GetToProperty:录制时的对象属性的值test object
GetTOProperties:录制时的对象属性集test object
GetROProperty:执行时对象属性的值run object
对象库的维护
对象库的保存【File】→【Export Local Object….】
对象库的合并 【Resources】→【Object Repository Manager】【Tools】→【Object Repository Merge Tool】
对象库的共享引用 【Resources】→【Associate Repositories】
QTP,自己主动化測试学习笔记,六月九号的更多相关文章
- Selenium2 Python 自己主动化測试实战学习笔记(五)
7.1 自己主动化測试用例 无论是功能測试.性能測试和自己主动化測试时都须要编写測试用例,測试用例的好坏能准确的体现了測试人员的经验.能力以及对项目的深度理解. 7.1.1 手工測试用例与自己主动化測 ...
- 基于QTP的自己主动化測试框架介绍
继前面用了七章介绍了基于QTP的自己主动化測试框架,以下再用几个视频再补充一下. 视频一:基本框架特点介绍说明 .框架的特点从正反两面进行了分析以及主要思想 http://v. ...
- Android自己主动化測试之Monkeyrunner用法及实例
眼下android SDK里自带的现成的測试工具有monkey 和 monkeyrunner两个.大家别看这俩兄弟名字相像,但事实上是完全然全不同的两个工具,应用在不同的測试领域.总的来说,monke ...
- 带有机器人框架的.NET自己主动化測试
Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg ...
- Robot Framework自己主动化測试框架之我见
一些自己主动化測试现状: 盲目的去做自己主动化,终于以失败告终. 觉得是能提高效率的事情.却推广不下去: 事实上上述问题产生的原因是: 自己主动化測试案例稳定性不高,可维护性比較差: 自己主动化測试工 ...
- Mock+Proxy在SDK项目的自己主动化測试实战
项目背景 广告SDK项目是为应用程序APP开发者提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包.提供的功能主要有以下几点: - 为APP请求广告内容 - 用户行为打点 - ...
- Android自己主动化測试解决方式
如今,已经有大量的Android自己主动化測试架构或工具可供我们使用,当中包含:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolect ...
- MAC中在eclipse luna上搭建移动平台自己主动化測试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录
这几天由于原来在用的hp laptop的电池坏掉了,机器一不小心就断电.所以仅仅能花时间在自己的mackbook pro上又一次搭建整套环境.大家都知道搭建好开发环境是个非常琐碎须要耐心的事情,特别是 ...
- Android Monkey自己主动化測试
前言 假设你做Android开发,还没有使用过Monkey进行測试,那么今天看到这篇文章,希望能解决你Android測试中的一些问题.起码能帮你省点測试的时间而且发现很多其它的问题. Monkey简单 ...
随机推荐
- Useful code snippets with C++ boost
Useful code snippets with C++ boost Is Punctuation It’s very straight forward to use boost.regex as ...
- ElasticSearch Roaring bitmap 和跳表联合查询
ElasticSearch Roaring map 先把所有数按65535划分, 划分方法就是求商和余数,商代表数字最终在哪一块,余数代表最终在块内的数字 比如 1, 65536, 65537, 13 ...
- monkeyrunner 进行多设备UI测试
monkeyrunner进行多设备UI测试 首先你要连接好多个手机设置好已经连接好的手机的ip列表ipp = ['192xxx','192xxx']杀掉之前所有appium进程subprocess. ...
- 【转载】Spring 源码分析之 bean 实例化原理
本次主要想写spring bean的实例化相关的内容.创建spring bean 实例是spring bean 生命周期的第一阶段.bean 的生命周期主要有如下几个步骤: 创建bean的实例 给实例 ...
- vue中的import {} from '@/api/api'
例:import {queryDepartTreeList, searchByKeywords} from '@/api/api' 首先查看vue.config.js文件,在这个文件里面定义了定义了@ ...
- 关于hadoop多次format之后,会出现的dataNode消失问题
如标题,最近我由于想初始化以下hadoop集群,之后却发现启动集群后所有的DataNode都消失了. 问题查找: 由于时所有的DataNode都出了问题,于是我翻找了以下DataNode的日志(默认在 ...
- JS window对象取消计时器clearInterval() clearInterval() 方法可取消由 setInterval() 设置的交互时间。
取消计时器clearInterval() clearInterval() 方法可取消由 setInterval() 设置的交互时间. 语法: clearInterval(id_of_setInterv ...
- 用selenium 自动爬取某一本小说章节及其内容,并存入数据库中
from selenium import webdriver import pymysql from selenium.webdriver.support.ui import WebDriverWai ...
- Spring - <bean parent="xxx" 属性>
总结 必要条件: 1.子bean必须与父bean保持兼容,也就是说子bean中必须有父bean定义的所有属性. 2.父bean必须是抽象bean或者定义lazy-init=true也就是不让bean工 ...
- look at me
I would bet my life, like I bet my heart我以生命与真心担保That you were the one, baby你就是我的命中注定I've never been ...