gpt4 book ai didi

Selenium RC 单击命令卡住

转载 作者:行者123 更新时间:2023-12-02 01:15:33 27 4
gpt4 key购买 nike

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

原始问题:

Selenium 大师您好,

我正在尝试使用 Selenium 2.0b3 作为 Java 客户端和独立服务器从 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 中,它挂起等待 selenium 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
...

最佳答案

您是否尝试过更换

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

selenium.click("id=command_Delete");

在我看来,由于该事件绑定(bind)到 div 本身,所以应该可以工作。

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

String JSscript = "jQuery('#command_Delete').click();" // See http://api.jquery.com/click/
selenium.runScript(JSscript);

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

关于Selenium RC 单击命令卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619537/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com