解決方案: 今天(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