没有名称弹出窗口的popup name =“window”的waitForPopUp方法的奇怪行为?

时间:2012-07-24 15:32:22

标签: java testing selenium methods popup

我不知道这是否是“正常”行为,但到目前为止我没有看到任何解释。我正在测试一个没有名称的javascript弹出窗口,以便能够测试该弹出窗口上的元素,我必须等到弹出窗口完全加载。我没有用来检查div元素是否存在,因为它是here但是尝试了其他的东西。

这是我尝试的,最奇怪的是它有效。

  browser.waitForPopUp("window", "3000");

它适用于我的所有弹出窗口(它们都没有名称)。我尝试了其他字符串,如“默认”,“空”,甚至是一个空字符串,但它们都没有工作(我读到某处,我忘记了,如果我找到了链接,我会更新,所以如果我设置第一个,我会读到参数为“null”,然后它将进行测试等待,直到弹出加载,当我尝试时坚果,我只遇到超时问题。)

任何人都知道发生了什么以及为什么会有效?

谢谢!

1 个答案:

答案 0 :(得分:1)

可以在此处查看waitForPopUp方法的文档 - http://selenium.googlecode.com/svn/trunk/docs/api/java/com/thoughtworks/selenium/Selenium.html#waitForPopUp%28java.lang.String,%20java.lang.String%29

关于第一个参数,它说“windowID - 将出现的窗口的JavaScript窗口”名称“(不是标题栏的文本)如果未指定或指定为”null“,则此命令将等待要出现的第一个非顶部窗口(如果您同时使用多个弹出窗口,请不要依赖此窗口)。“

我猜想当你说你的弹出窗口没有名字时,你实际上指的是标题。弹出窗口的实际名称可能实际上是“窗口”。

在w3schools示例http://www.w3schools.com/jsref/prop_win_name.asp上,您可以看到弹出窗口的名称与标题栏中的名称不同。事实上,这个名字并没有出现在任何地方。