我已经在c#中使用selenium编写了一个nUnit测试。
一切顺利,直到我必须确认JS确认框。
这是我正在使用的代码:
this.driver.FindElement(By.Id("submitButton")).Click(); this.driver.SwitchTo().Alert().Accept();
确认框出现在提交按钮之后。确认出现,然后立即消失,但不提交表单。无论上面的accept()行如何,其行为都是相同的。
我正在使用Firefox v15.0.1和seleniumv2.24
我试图在提交点击和确认接受之间放置一个Thread.Sleep。
我读过的所有内容都表明,selenium驱动程序将自动发送确认OK,但是似乎正在发生其他事情。
在此问题中,我将尝试验证确认框的存在。它是这样的:
this.driver.FindElement(By.Id("submitButton")).Click(); boolean presentFlag = false; try { // Check the presence of alert Alert alert = driver.switchTo().alert(); // Alert present; set the flag presentFlag = true; // if present consume the alert alert.accept(); } catch (NoAlertPresentException ex) { // Alert not present ex.printStackTrace(); } return presentFlag; }
然后,如果不起作用。尝试逐步调试。关于警报(确认框)一些额外的信息处理硒这里 希望这在某种程度上可以帮助你