QTP关键技术(一) - 对象识别及存储技术基本常识

QTP使用教程 QTP使用教程,介绍,简介,基本操作 阅读详情

 

1)测试对象模型(Test Object Model)
测试对象模型是QTP用来描述应用程序中对象的一组对象类。每个测试对象类拥有一系列用于唯一确定对象属性和一组QTP能够录制的方法
 此文为Hollyzhao于2007年09月在 http://blog.youkuaiyun.com/softesting  发布,夜深了,有点累~
2)测试对象(Test Object)
用于描述应用程序实际对象的对象,QTP存储这些信息用来在运行时识别和检查对象
 
3)运行时对象(Run-Time Object)
       是应用程序中的实际对象,对象的方法将在运行中被执行
 此文为Hollyzhao于2007年09月在 http://blog.youkuaiyun.com/softesting  发布,夜深了,有点累~
4)QTP的录制过程
       A.确定用于描述当前操作对象的测试对象类,并创建测试对象
       B.读取当前操作对象属性的当前值,并存储一组属性和属性值到测试对象中
       C.为测试对象创建一个独特的有别于其他对象的名称,通常使用一个突出属性的值
       D.记录在对象上执行的操作
 
5)QTP的回放过程
       A.根据对象的名称到对象存储库(Object Repository)中查找相应的对象
       B.读取对象的描述,即对象的属性和属性值
       C.基于对象的描述,QTP在应用程序中查找相应的对象
       D.执行相关的操作
 
QTP学习笔记(一):安装篇,解决QTP无法识别控件对象的问题 寻得几篇好文,原是基于QTP10.0,所以网上下载了QTP10.0的版本,进过一系列安装及破解,花费了些时间倒也算是顺利,然后花了近一个礼拜的时间(当然并不是一直在学,也是在工作之余,每天抽出1个小时吧!)看完了“QTP基础教程学习”,准备上手使用QTP的SPY识别出百度搜索框(WebEdit)控件时,遇到了麻烦如下: 只能识别到整个浏览器,而无法定位到正确的控件对象。 问度娘,众说纷纭: 阅读详情

相关推荐

QTP工具介绍(一)()

一:什么是QTP? QTP(QuickTest Professional)是一款自动化测试工具,主要用于功能测试和回归测试。它的脚本语言是相对来说比较简单的VBSctipt,语法和逻辑结构比较松散,虽然支持对象的封装,但不支持继承和多态。 QTP的特点: 1、支持脚本的录制和回放; 2、有一个非常有用的对象侦测工具Object Spy。 3、有专门存储对象属性的地方Object Repo

slforeverlove的博客 5519

【软件测试自动化-QTP NOTE 1】 ==对象库-Object Repository==

 写这个博客是想把自己过去学习的一些QTP知识整理下沉淀下,以笔记的形式发表在blog中,算是温故而知新吧~ 希望看过的可以提些意见 互相勉励 互相学习。 ------------------------------------------------------------------------------------------------------------------

QuickTest is Unplugged 2436

qtp11与java_11.5 QTP对象识别

11.5 QTP对象识别本节将讲解QTP识别对象的原理。1.两种测试对象和仓库对象有两种对象,一个是TestObject对象,另一个是RunTime Object对象。TestObject对象是指对象库中的被测试中的控件对象,而RunTime Object是指被测试系统中的实际对象。在库文件中定义仓库对象,其中存有实际对象的特征属性的值。在脚本回放时,QTP会根据脚本中的对象名字,在对象库里找到...

weixin_30050671的博客 298

QTP主要功能

1)QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分别用于各自类型的产品测试。默认提供Web,ActiveX和VB。 2)QTP支持的脚本语言是VBScript,这对于测试人员来说,感觉要“舒服”得多(如相比SilkTest采用C语言)。VBScript毕竟是一种松散的、非严格的、普及面很广的语言。 3)...

weixin_41524915的博客 1320

GNSS接收机性能测试指标详解:TTFF、位置精度、灵敏度等关键参数如何评估

本文详细解析了GNSS接收机性能测试的关键指标,包括首次定位时间(TTFF)、位置精度、灵敏度等,帮助工程师系统评估接收机性能。通过多频段协同定位和载波相位测试等技术,提升定位精度至亚米级。同时,介绍了灵敏度测试的极限挑战和授时精度的专业测试方案,为GNSS接收机的性能优化提供实用指导。

cuda7parallel的博客 963

Tera Term介绍和使用指南

Tera Term 是一个用于 Windows 操作系统的免费终端模拟器和串口通信软件。它主要用于在计算机和其他设备之间建立串口通信连接,例如通过串行线缆连接到设备如路由器、开发板或嵌入式系统。Tera Term 支持多种通信协议和功能,包括 Telnet、SSH 和串口通信。提供了一个终端窗口,模拟了常见的终端类型,如VT100。支持通过串口与设备进行通信,可用于与嵌入式系统、微控制器等设备进行连接。提供 Telnet 和 SSH 功能,可用于通过网络连接到远程主机。

weixin_49423593的博客 1万+

QTP关键技术(一)--- 对象识别及存储技术基本常识[转]

1)测试对象模型(Test Object Model)测试对象模型是QTP用来描述应用程序中对象的一组对象类。每个测试对象类拥有一系列用于唯一确定对象属性和一组QTP能够录制的方法2)测试对象(Test Object)用于描述应用程序实际对象的对象,QTP存储这些信息用来在运行时识别和检查对象3)运行时对象(Run-Time Object):是应用程

zrg9399的专栏 492

Halcon工业相机开发全流程:从SDK配置到实时图像采集(C++版)

本文详细介绍了使用C++进行Halcon工业相机开发的完整流程,从SDK配置到实时图像采集的实现。涵盖环境搭建、设备初始化、回调机制、参数控制等关键环节,并提供异常处理和实战案例,帮助开发者快速掌握工业视觉系统的开发技巧。

weixin_33728268的博客 512

UFT基础_对象库详解

1'将对象保存为文件,以tsr结尾的文件 资源->资源存储库->file->Export Local Object... 2、对象资源库管理 资源->对象存储库管理器->File->Open 对象存储库主要完成,对象库的比较和合并。 3、将对象存储库关联到指定的ACTION 资源->关联存储库 点绿色加号,将导出的tsr文件打开,将ACTION1 移动到ACT

荆盼的博客 2888

用deepseek对GPU服务器进行压力测试

利用 DeepSeek 模型对 GPU 服务器进行压力测试,核心思路是通过,验证 GPU 服务器在计算、显存、网络等维度的承载能力,同时观察稳定性与性能瓶颈。

weixin_42795092的博客 1610

光谱分布、光谱辐射通量密度与不同时间段分布光谱(图示)

1、光谱分布图 2 太阳辐射能量图 3、不同时间段的太阳分布光谱图 4、不同波长的光的能量分布主要区域 5、不同波段的使用场景

maopig的专栏 2万+

QTP HELP - Enhanced Object Spy Functionality

Enhanced Object Spy Functionality You can now use the Object Spy to spy on multiple objects during a single spying session. When you cli

yuna2729的专栏 485

hpm6750evk2开发板(一)菜鸟入门

hpm6750与我们平时常用的stm单片机在开发环境和开发方法上有很大的区别,所以上手还是需要花一点时间的,拿到板子先不要急着上电调试,我们先找资料学习一下了,免得多走冤枉路,以下是我整理的一些学习资源,包括开发板使用手册、芯片SDK、开发工具、视频资料等,建议先把使用手册和学习视频先看了,再取搭建环境测试。最近刚入手一块hpm6750evk2开发板,花了几天时间学习,算是菜鸟入门了,今天分享一下学习过程。看完资料后,把开发工具安装上,下一篇文章我们分享一下调试工程的过程和遇到的问题。

Silas1750的博客 3085

QTP中对象识别及存储技术基本常识

QTP中对象识别及存储技术基本常识      1)测试对象模型(Test Object Model)测试对象模型是QTP用来描述应用程序中对象的一组对象类。每个测试对象类拥有一系列用于唯一确定对象属性和一组QTP能够录制的方法 2)测试对象(Test Object)用于描述应用程序实际对象的对象,QTP存储这些信息用来在运行时识别和检查对象 

popkiler的专栏 861

【银河麒麟服务器操作系统】安装英伟达4090D显卡驱动操作指南

本文详细介绍了在银河麒麟高级服务器操作系统V10SP3-2403-X86版本上安装NVIDIA RTX4090D显卡驱动的完整流程。主要内容包括:准备工作检查、开源驱动禁用、运行级别切换、依赖包安装以及交互式安装过程中的关键选项选择(32位库选Yes、X配置选No)。通过禁用nouveau驱动、重建内核引导等步骤确保驱动安装成功,最后通过nvidia-smi命令验证驱动安装情况。文档提供了操作检查表和安装流程图,帮助用户在银河麒麟系统上顺利完成显卡驱动部署。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 3104

SAP 采购订单入库——移动类型

业务场景:采购入库,实物入库至仓库,然后系统同步过账。MIGO:收货、采购订单。 MVT:101 入库,---库存增加。 MVT:移动类型,就是代表业务场景,(比如入库、发货,成本中心发、工单发、报废、盘赢、盘亏等等) 移动类型 1、正向采购入库:101 2、反向冲销(MIGO)102:与101相反,用于错误操作的反向冲销。参考原凭证,全部进行一...

willieyuan的博客 7780

QTP对象识别原理

一、QTP识别对象原理 QTP里的对象有两个概念,一个是Testtime Object(简称TO),一个是RunTime Object(简称RO)。 从实际作用来看,TO就是对象库中定义的对象,RO时被测试软件运行时的实际对象。 QTP识别对象,一般要求先在对象库中定义对象,里面存有实际对象的特征属性的值。然后在运行时,QTP会根据脚本里的对象名字,在对象库中找到对应的对象,接着根据对象库中

chen_xi_的专栏 2833

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

QTP对象识别与操作

  QTP对象识别与操作引子:如果你对QTP不是很了解的话,看此篇文章有些难度,如果你对如何取得页面组件的属性并使用其方法有疑惑,这篇文章将对你有很大的帮助。一、QTP识别对象的原理QTP里的对象有两个概念,一个是Test Object(简称TO),一个是Runtime Object(简称RO)。这两个概念从字面上不大好理解,也容易混淆。但从实际作用上来看,应该说TO就是是仓库文件里定

猪猪也要飞 3374

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

QTP识别对象讲解

QTP在碰到对象识别问题的时候,会尝试应用智能识别(Smart Identification),如果智能识别能定位出对象则继续脚本的执行,否则提示错误。   假设录制了下面的脚本:   Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 22,17   对于Login这个Image对象,QTP默认采

jianky0730的专栏 519

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

QTP学习笔记之一:无法识别的对象和右键

对于无法识别的对象总结出来分为两步: 一)在对象库中得到该对象的相对位置(前提是该对象被添加到了对象库) 二)在步骤生成器中输入该对象的相对位置及相应的鼠标操作即可(会自动生成语句,要注意的是该对象的父类一定选择正确) 右键的识别方法也一样,只要操作选为click,BUTTON的值设置为micRightBtn即可。     下面是具体操作步骤: 1.在QTP的主界面,选择 Resou

yafeng_0306的专栏 4682

QTP对象识别的问题

<br /> <br />在这几天做WEB系统自动化脚本时,遇到一些关于对象识别的问题,分为以下几种情况:<br /> <br />1.识别的所有对象均为WinObject对象。<br /> <br />2.在界面上点击一个对象进行识别时没有任何反应,什么也识别出来。当然录制时一行脚本也没有视图是空的。<br /> <br />3.一个对象例如webelement,它的父对象是一个Frame,点击webelement识别时只能识别到Frame。<br /> <br />4.同一个对象一下可以识别一下不可以识

软件测试 1063

QTP识别对象的原理

QTP里的对象有两个概念,一个是Test Object(简称TO),一个是Runtime Object(简称RO)。这两个概念从字面上不大好理解,也容易混淆。但从实际作用上来看,应该说TO就是是仓库文件里定义的仓库对象,RO是被测试软件的实际对象。QTP识别对象,一般是要求先在对象仓库文件里定义仓库对象,里面存有实际对象的特征属性的值。然后在运行的时候,QTP会根据脚本里的对象名字,在对象仓库

陋室 943

QTP的对象顺序识别技术

在我们在做自动化的时候,经常会遇到的一种情况就是,在同一个页面里, 出现相同类型和名称的对象时,一般需要依赖额外的属性来区分这些相同的对象。 在QTP 里共有3类这样的顺序标识。            1. 顺序标识(Ordinal Indentifiers): [location \ Index \ CreationTime]   其中CreationTime 仅适用于Browser对象

erix1991的专栏 1447

QTP对象识别机制

QTP对象识别机制 (转载) 测试对象模型是一大组对象类型或类,比如WebElement、WebList,QTP用这些对象类型和类来表示Web页面中的对象。每个测试对象类都有一个可以唯一标识对象的属性列表以及可以录制的方法,这个属性列表和方法列表是可以设置的,见图:

jianchibuxie5的专栏 646

QTP无法识别对象的解决办法

对QTP无法识别对象的解决办法很多,现使用到的有以下五种:    1.低级录制(不建议使用)    2.虚拟录制(慎重使用)    3.描述编程    4.对象映射    5.ObjectIdentification    详解    1:低级录制    Automation->LowLevelReco...

xianglong_yin的博客 1409
上一篇: 在QTP中使用描述性编程(实例)
下一篇: QTP关键技术(二) - 对Check Point的较为深入理解
浩西
博客等级 码龄19年 47粉丝 48原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值