博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
QTP的智能识别(Smart Identification)过程
阅读量:4199 次
发布时间:2019-05-26

本文共 1043 字,大约阅读时间需要 3 分钟。

QTP在碰到对象识别问题的时候,会尝试应用智能识别(Smart Identification),如果智能识别能定位出对象则继续脚本的执行,否则提示错误。

 

假设录制了下面的脚本:

Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 22,17

对于Login这个Image对象,QTP默认采用althtml tagimage type属性来识别对象。

然而,当你创建好上述脚本后,开发人员又在同一个页面添加了第二个Login对象(为VIP登录而设计的),同时修改了原来的Login对象的alt属性,改成了“basic login”。

这样当你针对新版本的页面重新回放上述脚本时,QTP就不能基于alt + html tag + image type的属性组合来识别Login对象了,因为alt属性已经改了。但是QTP仍然能够成功地识别出Login对象来,因为这个时候它会去使用智能识别(Smart Identifation)。

 

下面的过程描述了QTP应用智能识别来确认Login对象的步骤:

1、根据WEB Image对象默认设置的智能识别定义,QTP首先从页面中找出所有html tag属性=INPUT的对象(应用在Base Filter Properties中定义的属性类型进行第一轮筛选和过滤)。

2、把筛选出来的对象作为候选对象,再依次应用Optioanl Filter Properties中定义的属性类型进行过滤:

2.1 QTP会首先检查候选对象的alt属性,但是发现没有等于“Login”的,因为已经被开发人员改为“basic Login”了。因此QTP会忽略这个属性类型,继续应用下一个属性类型。

2.2QTP检查每个候选对象的image type属性,把image type不等于Image Button的对象过滤出去。

2.3QTP检查候选对象的html id属性,发现所有对象的这个属性的值都是空的。

2.4QTP检查候选对象的name属性,发现有两个对象(basic loginVIP login)的name属性都等于“login,因此QTP把其它的对象过滤掉,剩下这两个对象。

2.5QTP再检查剩下两个对象的file name属性,发现只有一个是等于“login.gif,因此QTP就此结束智能识别过程,推断出这个对象是它要找的Login对象并且点击它。

 

转载地址:http://aznli.baihongyu.com/

你可能感兴趣的文章
【一天一道LeetCode】#119. Pascal's Triangle II
查看>>
【unix网络编程第三版】ubuntu端口占用问题
查看>>
【一天一道LeetCode】#120. Triangle
查看>>
【unix网络编程第三版】阅读笔记(三):基本套接字编程
查看>>
【一天一道LeetCode】#121. Best Time to Buy and Sell Stock
查看>>
【一天一道LeetCode】#125. Valid Palindrome
查看>>
【一天一道LeetCode】#231. Power of Two
查看>>
【一天一道LeetCode】#202. Happy Number
查看>>
带你深入理解STL之Vector容器
查看>>
带你深入理解STL之Deque容器
查看>>
带你深入理解STL之Stack和Queue
查看>>
带你深入理解STL之Set和Map
查看>>
Redis源码剖析--源码结构解析
查看>>
Redis源码剖析--动态字符串SDS
查看>>
Redis源码剖析--双端链表Sdlist
查看>>
Redis源码剖析--字典dict
查看>>
Redis源码剖析--跳跃表zskiplist
查看>>
Redis源码剖析--整数集合Intset
查看>>
Redis源码剖析--对象object
查看>>
Redis源码剖析--字符串t_string
查看>>