1

我在 Selenium IDE 中的弹出窗口之间切换时遇到问题。我正在使用 Facebook 的测试用户系统来创建一个测试用户(这部分工作得很好),然后写了一些步骤来删除他们所属的应用程序的授权(有点烦人的是 Facebook 不允许你指定你是否'希望您的测试帐户已经授权该应用程序)。无论如何,一旦我有一个新的测试用户在我的应用程序没有现有授权的情况下登录 Facebook,我让它打开包含连接按钮的页面,然后:

  1. waitForCondition selenium.browserbot.getCurrentWindow().document.getElementById('fbSignInAnchor')
  2. click css=#fbSignInAnchor > img

此时,Facebook 会使用授权启动该弹出窗口。我试过使用waitForPopup,但它无法检测到弹出窗口。所以现在我有了它,pause 5000但是selectWindow title=Log into [my app's name]当它按顺序运行时会失败——如果我手动执行这一步,它工作正常。

让它等待弹出窗口的最佳方法是什么,然后选择它以便我可以运行接下来的步骤,即clickAndWait name=grant_required_clickedclick name=grant_clicked(单击两个提交按钮以授权应用程序)。

4

1 回答 1

0

您可以尝试此解决方法并为您的弹出窗口分配一些 ID:

getEval | selenium.browserbot.findElement('css=#fbSignInAnchor>img').target='my_window'
getEval | window.open("", "my_window")
click | css=#fbSignInAnchor > img
selectWindow | my_window
waitForElementPresent | name=grant_required_clicked
clickAndWait | name=grant_required_clicked
于 2012-04-21T17:55:43.807 回答