2010-09-02 55 views
2

我有一個按鈕(不是提交按鈕),它會在提交另一個表單之前執行ajax調用。如何關注黃瓜javascript中的重定向?

我想要做的是

Given I am viewing homepage 
When I press "JustAButton" 
Then I should be on "https://stackoverflow.com/users/home" 

但重定向發生有些遲和「那」語句失敗考慮到該頁面仍處於主頁。我怎麼才能等到ajax調用(通過單擊按鈕產生)完成並且頁面被提交?

任何想法?

編輯:示例JavaScript代碼

對於

<input type="button" id="btn_Send" value="Send"/> 

JavaScript是(請忽略語法錯誤,我想你會得到的總體思路)

document.ready(){ 
$("#btn_Send").click(function(){ 
    ajax.post('some url',<params>, callbackForSuccess); 
} 

function callbackForSuccess(result){ 
    $("#form1").submit(); 
} 
+0

您是否正在運行支持Javascript的驅動程序的Cucumber場景硒?如果不是,當您的場景運行時,頁面上的javascript/ajax將不會執行。 – Sidane 2010-09-02 09:12:26

+0

@sidane,是的,我正在這樣做。正常的ajax調用正在正確處理。但是當有javascript表單提交時,它不會識別它們 – 2010-09-03 08:03:21

+0

好的。如果你在瀏覽器中手動測試,這種行爲是有效的嗎?你可以發佈你的任何代碼來更清楚地知道你在做什麼嗎? – Sidane 2010-09-03 08:26:20

回答

0

正確 - 「我應該繼續」在JavaScript有機會加載另一個尋呼機之前立即執行斷言。

您需要定義一個等待瀏覽器處於指定頁面(或超時)的步驟。