【发布时间】:2015-01-29 10:29:16
【问题描述】:
我遇到了一个对我来说看起来微不足道的问题,但在谷歌上搜索了一个小时后我找不到有效的解决方案。
我要填写一个窗口安全弹出窗口。
这是 selenium 测试的一部分,可以与其他测试并行运行。 因此,为了确保我的 autoit 脚本填充正确的弹出窗口(而不是形成另一个正在运行的测试),我想将此弹出窗口标识为父窗口的子窗口。有没有简单的方法可以做到这一点?
到目前为止我的代码:
$browserHandl = WinWait($parentTitle)
WinActivate($browserHandl, "")
$popUpHandl = WinWait("Windows Security")
所以我担心 WinWait 会返回当前在机器上打开的所有打开的 Windows 安全弹出窗口之一。
所以:
1. 有没有办法获取父窗口的子窗口句柄?
2. 我确实会遇到同时运行多个测试的竞争条件,这是否正确?
【问题讨论】:
-
EnumChildWindows api(autoit 中的_WinAPI_EnumChildWindows,帮助文件有一个例子)。但是,我怀疑是否曾经有不止一个活动的(或就此而言可见的)Windows 安全窗口。也许你可以看看 WinWaitActive。
-
实际上打开多个安全窗口是很常见的。我会研究这个api。非常感谢。
标签: autoit