gpt4 book ai didi

qtp - UFT 描述性编程浏览器 ("creationtime:=-1")并不总是有效

转载 作者:行者123 更新时间:2023-12-01 11:21:41 25 4
gpt4 key购买 nike

我正在使用以下代码来突出显示浏览器实例(仅存在 1 个浏览器实例)

Browser("CreationTime:=-1").highlight

有时代码会突出显示唯一可用的浏览器实例,而有时会显示“找不到对象”。我在 tarun lalwani 拔下的 QTP 中读到,如果存在 1 个浏览器实例,则 Browser("CreationTime:=-1").exist(5) 将返回 true。请在这里告诉我做错了什么或理解错了。

如果只有 1 个浏览器实例存在,我将尝试执行某些操作。

最佳答案

CreationTime 属性是一个选择器,仅当描述的其余部分不唯一时才使用选择器。这意味着如果只有一个浏览器,QTP/UFT 将不会查看您指定的 CreationTime 并且不会关心您提供的值是否无效(CreationTime 应该是一个非负整数)。

一旦有多个浏览器(如果你认为只有一个,要么是你要么是 QTP 弄错了......)QTP 将查看选择器并发现它有一个无效值并告诉你该对象不是成立。

我看不出使用这个描述有什么意义,如果你认为只有一个浏览器存在,更合乎逻辑的描述应该是 "micclass:=Browser" 这样你会得到一个信息当 QTP 找不到对象时出现错误(对象不唯一/未找到)。


编辑

如果你想检测是否只有一个浏览器,你可以通过两种不同的方式来完成。

Public Function ThereIsOneBrowser
On Error Resume Next
Browser("title:=.*").GetROProperty "title"
If Err Then
ThereIsOneBrowser = False
Else
ThereIsOneBrowser = True
End If
On Error Goto 0 ' Cancel On Error Resume next
End Function

Public Function NumberOfBrowsers
Set desc = Description.Create()
desc("micclass").Value = "Browser"
NumberOfBrowsers = Desktop.ChildObjects(desc).Count
End Function

每种方法的优缺点:

  • ThereIsOneBrowser 如果没有浏览器(默认 20 秒),将等待对象识别超时,因此速度较慢
  • 我不确定 Desktop.ChildObjects 是否知道如何与 Mobile Center (MC) 交互,所以如果您有时测试移动设备,这可能会给您错误的结果

如果您不测试移动设备,我会选择 NumberOfBrowsers

关于qtp - UFT 描述性编程浏览器 ("creationtime:=-1")并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41749568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com