解决方案: 今天(2011-04-13)严重处理Selenium RC Firefox 4下的确认框。 我不得不改回Firefox 3.16,然后这个问题就消失了。再次感谢。Selenium RC单击命令卡住
原题:
你好硒大师,
我试图执行从Java使用Selenium 2.0b3作为Java客户端和独立的服务器太自动化浏览器测试。
服务器使用特定配置文件启动Firefox 4。
测试停留在“单击”命令;它等待并且没有超时/异常/任何错误发生。在这个点击过程中出现一个确认框,所以我猜这就是问题所在,但我不知道为什么会卡住。在Selenium IDE中不包含这个确认框,仅在RC中。
问题不在于,点击不会发生(因为出现确认框),而是确认框挂起。 我尝试了这些,但并没有帮助:
selenium.click("css=div[id=command_Delete]");
selenium.click("id=command_Delete");
String JSscript = "jQuery('#command_Delete').click();" // See http://api.jquery.com/click/
selenium.runScript(JSscript);
这些只是方式如何启动点击。 也许我根据这些链接来启动不同的主题:http://www.sqaforums.com/showflat.php?Cat=0&Number=567974&an=&page=0&vc=1
感谢:安德拉斯
Java代码:
selenium.click("//div[@id='command_Delete']/span");
//stucks here
//so this is not reached:
String confirmation = selenium.getConfirmation();
HTML:
<div id="command_Delete" class="...">
<div>...</div>
<span>Delete</span>
<div>...</div>
<br><br>
</div>
的Javascript:
<script type="text/javascript">
$('command_Delete').addEvent('click',function(){
var isConfirmTrue = confirm('Do you want to delete?');
if (isConfirmTrue) {
var myForm = getFormObj(document, "deleteForm");
submitForm(myForm);
}
});
</script>
并在Java,它挂等待硒RC回答:
HttpURLConnection.getInputStream() line: 912 [local variables unavailable]
HttpURLConnection(HttpURLConnection).getResponseCode() line: 367 [local variables unavailable]
HttpCommandProcessor.getResponseCode(HttpURLConnection) line: 147
HttpCommandProcessor.getCommandResponseAsString(String) line: 167
HttpCommandProcessor.executeCommandOnServlet(String) line: 107
HttpCommandProcessor.doCommand(String, String[]) line: 89
DefaultSelenium.click(String) line: 167
...
让我知道这是否适合你。 – Argote 2011-04-11 10:04:47
嗨,不幸的是它没有工作。我认为这两个命令都完全一样,最后在javascript中调用delete命令。 – Andras 2011-04-11 11:13:49
@Andras检查我的编辑。 – Argote 2011-04-11 16:34:48