0

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

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

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

它适用于我所有的弹出窗口(它们都没有名字)。我尝试了其他字符串,例如“default”、“null”,甚至是 null String,但它们都不起作用(我在某处读过,我忘了在哪里,如果找到链接,我会更新,所以如果我设置第一个,我会读到参数为“null”,然后它将使测试等到加载弹出窗口,当我尝试时坚果,我只遇到超时问题)。

任何人都知道发生了什么以及为什么会起作用?

谢谢!

4

1 回答 1

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上,您可以看到弹出窗口的名称与标题栏中的名称不同。事实上,这个名字并没有出现在任何地方。

于 2012-07-24T21:09:36.953 回答