在我们的一台测试机器中,虽然只显示了1个浏览器,但仍计算了2个浏览器,导致UFT无法识别并输入对象的值,因为我们使用的是RegEx:
Browser("title:=.*").Page....
我们使用以下行初始化IE:
InvokeApplication "C://Program Files/Internet Explorer/IEXPLORE.EXE"
这是什么解决方法?
UFT版本是12.02。
提前致谢!
答案 0 :(得分:0)
我首先使用以下方法关闭IE的所有打开实例:
SystemUtil.CloseProcessByName("iexplore.exe")
然后使用以下命令打开新实例:
SystemUtil.Run "iexplore.exe","TestURL","C:\","",3
查看this
链接,了解有关 SystemUtil
的更多信息。
答案 1 :(得分:0)
按照以下步骤操作: -
1)使用WMI对象关闭IE的所有进程。
af = async () => {
await Promise.resolve() // NOTE: I added a "await" before the Promise.resolve()
.then(x => console.log("first then"))
.then(x => console.log("second then"))
await Promise.resolve()
console.log("after await")
}
af()
2)webUtil.deleteCokkies
3)然后使用systemUtil.run打开您的应用程序..
希望它会有所帮助
答案 2 :(得分:0)
感谢您的所有投入。我从你身上学到了很多东西。我已经找到了根本原因。毕竟不是多个打开的浏览器,而是其中一台机器的登录页面的计时问题。电子邮件地址文本框对象是可见的,但是它无法立即通过UFT识别,这就是为什么我添加了一个同步点,等待最多4分钟直到object.Exist(240)=true
。谢谢大家!