我的网站上遇到了Selenium的问题。
方案: 1. Selenium登录网站 2.按下硒按钮 3.出现确认窗口(例如:http://i.piccy.info/i5/17/00/1760017/popup.jpg) 但在此之后,Selenium就挂了。 " Selenium遥控器"也挂了,我甚至无法激活它。在Selenium RC日志中,我得到了:"命令请求:点击[ChooseClient,on session ...]" 如果我手动选择弹出窗口中的任何选项,一切都继续正常工作。
正如我所见,点击问题。出于某种原因,弹出窗口后点击不会结束。
Selenium代码:
selenium.click("link=Home");
selenium.waitForPageToLoad("30000");
selenium.click("btnCReportAdd");
selenium.waitForPageToLoad("30000");
selenium.chooseOkOnNextConfirmation();
selenium.click("chooseClient");
assertEquals( selenium.getConfirmation(), "WARNING - any changes made will not be saved." );
selenium.isConfirmationPresent());
selenium.waitForPopUp("popup", "30000");
这是按钮代码:
GB.common.navigationwarning.init("警告 - 所做的任何更改都不会被保存。");答案 0 :(得分:1)
首先,您不应在Web环境中使用消息框(警报)。为什么不用模态弹出窗口(Html版本)替换它?如果你谷歌它你可以找到很多例子(也是Jquery有一个插件)
Selenium和任何网络驱动程序都可以与模态弹出窗口很好地交互(您可以使用CSS或类属性来了解弹出窗口是否可见)但是它们无法与警报消息框进行交互
答案 1 :(得分:0)
我刚刚使用Selenium 2.41,FF 28来解决这个问题。
在单击元素之前添加此行以弹出弹出窗口为我修复它:
((JavascriptExecutor)driver).executeScript("window.showModalDialog = function( sURL,vArguments, sFeatures) { window.open(sURL, 'modal', sFeatures); }");