65 selenium alert selenium-ide
我需要使用Selenium命令单击警报窗口内的"确定"按钮.我已经尝试过assertAlert,verifyAlert但他们没有做我想做的事.
单击"确定"按钮是否可能?如果是这样,有人能为我提供Selenium IDE命令的示例吗?
amr*_*mra 52
试试Selenium 2.0b1.它与第一个版本的核心不同.它应该根据文档支持弹出对话框:
从Selenium 2.0 beta 1开始,内置支持处理弹出对话框.在您触发并打开弹出窗口的操作后,您可以使用以下命令访问警报:
Java的
Alert alert = driver.switchTo().alert();
Run Code Online (Sandbox Code Playgroud)
红宝石
driver.switch_to.alert
Run Code Online (Sandbox Code Playgroud)
这将返回当前打开的警报对象.使用此对象,您现在可以接受,关闭,读取其内容,甚至可以输入提示.此界面在警报,确认和提示方面同样有效.有关更多信息,请参阅JavaDocs.
Pet*_*ček 10
这是2012年的一个答案,问题是从2009年开始,但人们仍然关注它,并且只有一个正确(使用WebDriver)和一个几乎有用(但不够好)的答案.
如果您正在使用Selenium RC并且实际上可以看到警报对话框,则无法完成.Selenium应该为你处理它.但是,正如Selenium文档中所述:
Selenium试图隐藏这些对话框(通过替换window.alert,window.confirm和window.prompt),这样它们就不会停止执行你的页面.如果您看到一个警告弹出窗口,可能是因为它在页面加载过程中被触发,这对于我们保护页面来说通常为时尚早.
这是Selenium RC的一个已知限制(因此也是Selenium IDE),也是Selenium 2(WebDriver)开发的原因之一.如果要处理onloadJS警报,则需要使用WebDriver 警报处理.
也就是说,你可以使用Robot或selenium.keyPressNative()填写任何文字,然后按下Enter并盲目确认对话框.这不是最干净的方式,但它可以工作.但是,您将无法获得该alert消息.
Robot将所有有用的键映射到常量,这样很容易.有了keyPressNative(),你要使用10的值紧迫Enter或27对Esc,因为它的工作原理与ASCII码.
| 归档时间: |
|
| 查看次数: |
119584 次 |
| 最近记录: |