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窗口,查找按钮,该按钮上显示的文字是“保存”,点击该按钮

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,自动化测试学习笔记,六月九号

时间: 2025-01-09 17:51:39

QTP,自动化测试学习笔记,六月九号的相关文章

VSTO学习笔记(九)浅谈Excel内容比较

原文:VSTO学习笔记(九)浅谈Excel内容比较 说起文件内容比较,或许我们首先想到的是UltraCompare这类专业比较的软件,其功能非常强大,能够对基于文本的文件内容作出快速.准确的比较,有详细的差异报告,非常便于分析.其实,各种版本控制软件中也包含有或多或少的比较功能,如TFS.CVS.SVN等.但是如果待比较的文件不是基于文本类型的,那就无能为力了.今天我就来谈一谈Excel的比较方法及其特点,也和大家共同探讨一下,如果你有更好的方法,欢迎分享. 一.Excel的文件架构 Excel

汇编入门学习笔记 (九)—— call和ret

疯狂的暑假学习之  汇编入门学习笔记 (九)--  call和ret 參考: <汇编语言> 王爽 第10章 call和ret都是转移指令. 1. ret和retf ret指令:用栈中的数据,改动IP内容,从而实现近转移 相当于: pop ip retf指令:用栈中的数据.改动CS和IP,从而实现远转移 相当于: pop ip pop cs 样例:ret assume cs:code,ss:stack stack segment db 16 dup(1) stack ends code segm

简单的玩玩etimer &lt;contiki学习笔记之九&gt;

好吧,我承认etimer有点小复杂,主要是它似乎和contiki的process搅在一起,到处都在call_process.那就先搜搜contiki下的etimer的example看看,然后再试着写一个demo玩玩. 在写demo之前,先说说自己是怎么找到etimer 的example的文件的. 在core/sys/etimer.h 文件中,在描述etimer的数据结构的时候,作者显示的指出,如果要使用etimer,就必须先使用 etimer_set()这个函数进行一些工作,如图: 是的,数据结

MySQL学习笔记之九 字符串模式匹配

我们在使用查询的时候,经常会碰到模糊条件查询,而模糊查询就涉及到了字符串模式匹配. 在这里,主要讲两个:标准的SQL模式匹配.扩展正则表达式模式匹配.     一.标准的SQL模式匹配 SQL的模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零个字符).在MySQL中,SQL的模式缺省是忽略大小写的.下面显示一些例子.注意在你 使用SQL模式时,你不能使用=或!=:而使用LIKE或NOT LIKE比较操作符. 为了找出包含正好5个字符的名字,

简单的玩玩etimer &lt;contiki学习笔记之九 补充&gt;

这幅图片是对前面  <<contiki学习笔记之九>>  的一个补充说明. 简单的玩玩etimer <contiki学习笔记之九> 或许,自己正在掀开contiki process最后的一层面纱: 或许,还有一段路要走: 或许,已经掀开... --------------- 一切,都只是process:只有有了process,才会轮到etimer_process  发言,除非,抛却一切机制,裸机实现etimer... process,是什么? 一个链表,还是单向的,仅此

angular学习笔记(十九)

本篇主要介绍angular使用指令修改DOM: 使用angular指令可以自己扩展html语法,还可以做很多自定义的事情.在后面会专门讲解这一块的知识,这一篇只是起到了解入门的作用. 与控制器,过滤器,服务,一样,可以通过模块实例的directive的方法来创建指令: var someModule = angular.module('SomeModule',[]); someModule.directive('directiveName',function(){ return { link: f

GDI+学习笔记(九)带插件的排序算法演示器(MFC中的GDI+实例)

带插件的排序算法演示器 本节将通过一个实例来说明GDI+在MFC中的应用.这个算法演示器其实是本人算法系列的一个开端,由于csdn没有树状的目录结构,咱也只好使用链表了不是?好了,废话不多说,开始今天的文章. (一)功能说明 我们初步制定功能如下: (1). 能够通过柱状图,自动展示排序算法的交换比较过程 (2). 能够使用插件的形式进行开发.即,当新完成一个算法后,只需要完成一个插件文件(我们这里使用动态库dll),由主程序加载插件,即可进行执行,而不再需要重新编译主程序. (3). 保证主程

Android学习笔记(九)——更复杂的进度对话框

显示操作进度的对话框 1.使用上一篇创建的同一项目,在activity_main.xml文件中添加一个Button: <Button android:id="@+id/btn_dialog3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClick3" android:text=&qu

Struts2学习笔记(九):Strut2通用标签详解

本节主要介绍Strus2中的通用标签,主要有<s:url>, <s:set>, <s:push>, <s:if>, <s:elseif>, <s:else>, <s:iterator>, <s:sort>, <s:date>, <s:a>等几个标签的具体用法,仍然采用代码加注释的形式进行说明,希望能对大家有帮助. 刚入门的朋友阅读本文前,请阅读: Struts2学习笔记(六):值栈(va