如何在不关闭现有浏览器会话的情况下运行UFT自动化脚本?

时间:2019-06-05 01:01:06

标签: vbscript hp-uft

我有UFT自动化脚本,其中在创建时间为0时捕获了对象。但是,如果运行了一些浏览器窗口,则运行脚本时,UFT显然无法像创建时间那样在新打开的窗口中标识对象。不匹配。如何在不关闭现有浏览器会话的情况下克服这一难题?

我尝试关闭先前的会话,以便系统打开的浏览器窗口获得的创建时间为0,该时间与对象属性匹配,因此对象识别成功。但是在某些情况下,我不希望关闭现有的浏览器会话。我有一个在运行时更改对象创建时间的想法,但不确定如何实现。

SystemUtil.Run "iexplore.exe", URL_TST3

Browser("Tivoli Policy Director").Page("Tivoli Policy Director").sync

If Browser("Tivoli Policy Director").Page("Tivoli Policy Director").WebEdit("username").exist(1) Then
    Browser("Tivoli Policy Director").Page("Tivoli Policy Director").WebEdit("username").Set "L104894"
    Browser("Tivoli Policy Director").Page("Tivoli Policy Director").WebEdit("password").Set "Password90"
    Browser("Tivoli Policy Director").Page("Tivoli Policy Director").WebButton("Login").Click
End If

预期:需要对象标识才能成功 实际:UFT无法识别对象

1 个答案:

答案 0 :(得分:0)

这是一种简单的方法。 (未经测试)

我们知道,尽管我们仅打开一个chrome实例,但任务管理器中正在运行多个进程。因此,我们将从任务列表中获取该实例的数量,然后在OR中更新浏览器索引。

使用UFT在cmd中运行以下命令(相应地更改浏览器名称)。

' chrome.exe - chrome
' firefox.exe - firefox
' iexplore.exe - internet explorer (IE)

tasklist | find /I /C "iexplore.exe"

使用 SetTOProperty

获取输出并在OR中更新浏览器索引