測试自己主动化实现的两个难点
设计——功能分解

实现——对象的识别

測试自己主动化实现的两个难点—功能分解

清晰画出业务流程图
依据业务流程分解业务功能。能够被复用的功能也要被分解出来。
依照路径覆盖的思想。组织測试用例

測试自己主动化实现的两个难点—对象识别

创建測试    获取被操作对象的属性信息
使用唯一的对象名在对象仓库中记录该对象。
标识关键属性信息
在脚本中记录对象名称和对应的动作。

执行測试 

从脚本中获得对象名称。
在对象仓库中定位对象。并获取其关键属性。
依据关键属性信息在被測应用中定位对象。

依据脚本中录入的动作执行对应的操作。

測试对象管理机制  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,自己主动化測试学习笔记,六月九号的更多相关文章

  1. Selenium2 Python 自己主动化測试实战学习笔记(五)

    7.1 自己主动化測试用例 无论是功能測试.性能測试和自己主动化測试时都须要编写測试用例,測试用例的好坏能准确的体现了測试人员的经验.能力以及对项目的深度理解. 7.1.1 手工測试用例与自己主动化測 ...

  2. 基于QTP的自己主动化測试框架介绍

    继前面用了七章介绍了基于QTP的自己主动化測试框架,以下再用几个视频再补充一下.        视频一:基本框架特点介绍说明 .框架的特点从正反两面进行了分析以及主要思想      http://v. ...

  3. Android自己主动化測试之Monkeyrunner用法及实例

    眼下android SDK里自带的现成的測试工具有monkey 和 monkeyrunner两个.大家别看这俩兄弟名字相像,但事实上是完全然全不同的两个工具,应用在不同的測试领域.总的来说,monke ...

  4. 带有机器人框架的.NET自己主动化測试

    Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg ...

  5. Robot Framework自己主动化測试框架之我见

    一些自己主动化測试现状: 盲目的去做自己主动化,终于以失败告终. 觉得是能提高效率的事情.却推广不下去: 事实上上述问题产生的原因是: 自己主动化測试案例稳定性不高,可维护性比較差: 自己主动化測试工 ...

  6. Mock+Proxy在SDK项目的自己主动化測试实战

    项目背景 广告SDK项目是为应用程序APP开发者提供移动广告平台接入的API程序集合,其形态就是一个植入宿主APP的jar包.提供的功能主要有以下几点: - 为APP请求广告内容 - 用户行为打点 - ...

  7. Android自己主动化測试解决方式

    如今,已经有大量的Android自己主动化測试架构或工具可供我们使用,当中包含:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolect ...

  8. MAC中在eclipse luna上搭建移动平台自己主动化測试框架(UIAutomator/Appium/Robotium/MonkeyRunner)关键点记录

    这几天由于原来在用的hp laptop的电池坏掉了,机器一不小心就断电.所以仅仅能花时间在自己的mackbook pro上又一次搭建整套环境.大家都知道搭建好开发环境是个非常琐碎须要耐心的事情,特别是 ...

  9. Android Monkey自己主动化測试

    前言 假设你做Android开发,还没有使用过Monkey进行測试,那么今天看到这篇文章,希望能解决你Android測试中的一些问题.起码能帮你省点測试的时间而且发现很多其它的问题. Monkey简单 ...

随机推荐

  1. Useful code snippets with C++ boost

    Useful code snippets with C++ boost Is Punctuation It’s very straight forward to use boost.regex as ...

  2. ElasticSearch Roaring bitmap 和跳表联合查询

    ElasticSearch Roaring map 先把所有数按65535划分, 划分方法就是求商和余数,商代表数字最终在哪一块,余数代表最终在块内的数字 比如 1, 65536, 65537, 13 ...

  3. monkeyrunner 进行多设备UI测试

    monkeyrunner进行多设备UI测试  首先你要连接好多个手机设置好已经连接好的手机的ip列表ipp = ['192xxx','192xxx']杀掉之前所有appium进程subprocess. ...

  4. 【转载】Spring 源码分析之 bean 实例化原理

    本次主要想写spring bean的实例化相关的内容.创建spring bean 实例是spring bean 生命周期的第一阶段.bean 的生命周期主要有如下几个步骤: 创建bean的实例 给实例 ...

  5. vue中的import {} from '@/api/api'

    例:import {queryDepartTreeList, searchByKeywords} from '@/api/api' 首先查看vue.config.js文件,在这个文件里面定义了定义了@ ...

  6. 关于hadoop多次format之后,会出现的dataNode消失问题

    如标题,最近我由于想初始化以下hadoop集群,之后却发现启动集群后所有的DataNode都消失了. 问题查找: 由于时所有的DataNode都出了问题,于是我翻找了以下DataNode的日志(默认在 ...

  7. JS window对象取消计时器clearInterval() clearInterval() 方法可取消由 setInterval() 设置的交互时间。

    取消计时器clearInterval() clearInterval() 方法可取消由 setInterval() 设置的交互时间. 语法: clearInterval(id_of_setInterv ...

  8. 用selenium 自动爬取某一本小说章节及其内容,并存入数据库中

    from selenium import webdriver import pymysql from selenium.webdriver.support.ui import WebDriverWai ...

  9. Spring - <bean parent="xxx" 属性>

    总结 必要条件: 1.子bean必须与父bean保持兼容,也就是说子bean中必须有父bean定义的所有属性. 2.父bean必须是抽象bean或者定义lazy-init=true也就是不让bean工 ...

  10. look at me

    I would bet my life, like I bet my heart我以生命与真心担保That you were the one, baby你就是我的命中注定I've never been ...