我最近一直在与Selenium一起玩,试图为仅IE应用程序创建测试。事情进展顺利(尽管没有记录器插件,我不得不慢慢尝试才能找到合适的元素路径,但是进展缓慢),但是现在我遇到了与弹出菜单有关的问题。
大多数应用程序操作都是通过使用javascript window.createPopup()创建的弹出菜单触发的,我似乎找不到一种将事件发送到弹出窗口中的元素的方法。
也许我应该像使用window.open(...)打开的窗口那样选择弹出窗口,顺便说一句。我尝试为createPopup()返回的弹出菜单分配一个名称,并以与对待Windows相同的方式对其进行处理,但这似乎不起作用。
有人知道这是否行得通吗?任何帮助将不胜感激。
谢谢,
最佳答案
抱歉不行。 Selenium无法访问window.createPopup。作为IE的唯一功能,它的可移植性确实有限,通常不是最佳实践。我知道这对您来说无济于事,因为我假设您被使用createPopup的其他人的代码所困扰。
真正的问题是craeatePopup不会向DOM添加任何内容。尝试打开一个弹出对象并查看其源。您会看到以下内容:
<html><body></body></html>
因此,Selenium确实没有什么可抓住的。
弹出窗口对您的应用程序有什么作用?您表示它提供了一些导航,您可以直接导航到那些页面吗?
关于javascript - IE和Selenium:window.createPopup(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3831232/