Selenium RC click命令卡住了

Selenium RC click命令卡住了,selenium,selenium-rc,Selenium,Selenium Rc,解决方案: 今天(2011-04-13)Firefox4下的确认框处理得很糟糕。 我不得不改回Firefox3.16,然后这个问题就消失了。再次感谢 原始问题: 你好,硒大师 我正在尝试使用Selenium 2.0b3作为Java客户端和独立服务器,从Java执行自动浏览器测试。 服务器启动具有特定配置文件的Firefox4 测试卡在“单击”命令上;它等待,没有超时/异常/任何错误发生。在这个点击过程中会出现一个确认框,所以我想这就是问题所在,但我不知道为什么会卡住。Selenium IDE中没

解决方案: 今天(2011-04-13)Firefox4下的确认框处理得很糟糕。 我不得不改回Firefox3.16,然后这个问题就消失了。再次感谢

原始问题:

你好,硒大师

我正在尝试使用Selenium 2.0b3作为Java客户端和独立服务器,从Java执行自动浏览器测试。
服务器启动具有特定配置文件的Firefox4

测试卡在“单击”命令上;它等待,没有超时/异常/任何错误发生。在这个点击过程中会出现一个确认框,所以我想这就是问题所在,但我不知道为什么会卡住。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);
这些只是开始点击的方法。 也许我必须根据以下链接启动一个不同的线程:

谢谢:安德拉斯

Java代码:

selenium.click("//div[@id='command_Delete']/span");
//stucks here
//so this is not reached:
String confirmation = selenium.getConfirmation();
HTML:


你试过更换吗

selenium.click("//div[@id='command_Delete']/span");

?

在我看来,由于事件绑定到
div
本身,因此应该可以工作

此外,通过这样做,您可以直接执行
单击
操作,我使用jQuery,因为您似乎已经在页面上加载了它,这使事情变得更容易(特别是对于跨浏览器测试):


您只需评估此解决方案是否适合您。

您确定您的小部件可以承受点击吗

我会尝试CSS标识符:

selenium.click("css=div[id=command_Delete]");

如果弹出确认框,测试将阻塞,直到该确认框被移除。您可以进行快速手动测试,看看这是否是您的问题

运行您的测试,当确认框出现时,手动与之交互,如果其他一切正常,测试应从该点开始,按照正常情况继续进行

Selenium正在等待页面加载,但弹出框阻止页面加载,最终导致超时


您可以尝试使用selenium解决此问题;单击之前。

您好,很遗憾,它不起作用。我认为这两个命令的作用完全相同,最后会在javascript中调用delete命令。感谢这个js执行答案,它非常有用,但是解决方案是FF4/FF3更改。@安德拉斯:使用js应该在这两种浏览器(我认为)以及其他浏览器中都能工作。@Argote:我也试过了,JS会单击,但会挂起。我在Selenium Bug Tracker中发现了这个Bug:谢谢你的回答,它非常有用,但是解决方案是FF4/FF3更改。解决方案在这个页面的顶部。@Andras-你应该把它作为一个答案发布,并选中复选框
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 
...
selenium.click("//div[@id='command_Delete']/span");
selenium.click("id=command_Delete");
String JSscript = "jQuery('#command_Delete').click();" // See http://api.jquery.com/click/
selenium.runScript(JSscript);
selenium.click("css=div[id=command_Delete]");