【发布时间】:2011-10-14 00:53:45
【问题描述】:
问题是一旦新窗口生成测试在 waitForPageToLoad(3000) 行之后挂起并最终超时。一旦测试挂起,如果我在父窗口中手动触发某些事件,测试就会开始正常执行。因此,作为解决方案,我尝试添加选择父窗口并触发一些事件的代码。但是这段代码根本不起作用。如果有人能指出我在哪里遗漏了什么或指出我的错误方法。
我遵循的步骤:
单击打开新窗口的链接。(此处链接=3018)
一旦新的 window2 打开,就不会自动执行进一步的操作,并且测试只会挂起,直到超时间隔之后它才会抛出超时异常。
在超时间隔之前在父 window1 上手动触发事件(click link=outbox)。
测试开始正常执行并成功结束。
代码 sn-p(在父窗口中手动触发 evnt 后即可正常工作):
selenium.click("link=Last");
selenium.waitForPageToLoad("30000");
selenium.click("link=3018");
selenium.waitForPageToLoad("30000");
selenium.selectWindow("window2");
selenium.selectFrame("relative=up");
selenium.click("687c55");
selenium.waitForPageToLoad("30000");
assertEquals("window2", selenium.getTitle());
selenium.close();
代码 sn-p(在向选择窗口添加代码并在父窗口中触发 evnt 后 evn 失败):
selenium.click("link=Last");
selenium.waitForPageToLoad("30000");
selenium.click("link=3018");
selenium.waitForPageToLoad("30000");
selenium.selectWindow("window1");
selenium.click("link=Outbox");
selenium.waitForPageToLoad("30000");
selenium.selectWindow("window2");
selenium.selectFrame("relative=up");
selenium.click("687c55");
selenium.waitForPageToLoad("30000");
assertEquals("window2", selenium.getTitle());
selenium.close();
在添加代码以选择父窗口并触发单击事件后,我找不到任何原因导致我的代码仍然失败。超时后它仍然只是挂起并抛出异常。 :(
硒处理弹出窗口是否有任何错误? 希望对我在 selenium 中处理弹出窗口的方法的修改有任何建议
【问题讨论】:
标签: selenium automation automated-tests integration-testing junit4