2016-11-25 37 views
0

P.S .:不,我不想調試我的腳本。這非常棒。如何暫停watir黃瓜腳本執行中,然後恢復它?

問題是被測試的應用程序。如果我下了幾個命令,它會崩潰。所以我想要做的是:執行中,當我看到應用程序崩潰時,我想暫停測試腳本,使應用程序備份並運行,然後重新開始測試。

我知道這不是我應該運行測試腳本的時間點,因爲應用程序不夠穩定,但開發人員正在努力,希望很快,他們會解決它。我只是想知道是否有解決方案,因爲我找不到一個解決方案。當然,當我的測試崩潰時,我可以將應用程序重新整合起來,但這不是我想要做的。

我的系統:

操作系統:Linux Mint的

測試:的Watir(紅寶石)+黃瓜在Chrome

我運行使用黃瓜標籤linux的終端上測試。

我只想知道一般情況下是否有任何方法暫停和恢復執行。例如,當我想停止所有的測試時,我給命令行中斷Ctrl + C。那麼有沒有這樣的中斷命令來暫停和恢復?

+1

如何「看到」應用程序崩潰?網頁上是否存在可用作「崩潰標識符」的元素? –

+0

還有一個後續問題:碰撞發生在訂購過程中的隨機位置,還是始終在同一行動之後發生? –

+0

您的應用程序是否具有會話ID和身份驗證?如果是,那麼重啓應用程序中間測試後,現有測試會話將不會繼續。正如您所提到的,應用程序重啓必須通過重新驗證集成到測試中才能無縫執行。 如果沒有會話問題,您可以使用識別崩潰(text/element/etc)的任何標識識別應用程序已經崩潰,暫停測試一段時間,同時重新啓動應用程序。 – Sid

回答

1

好吧,既然你想要一個「一般」的回答,在這裏不用...

根據你的情況下,你正在尋找在你的項目中的「死機」狀態。

我自己的方法來解決這個問題將涉及編寫一個幫助方法,尋找這種情況,如果真的,它會「暫停」。例如...

def pause_if_crashed sleep 30 if @browser.product_price.nil? end

然後,我會在我的其他功能可能的方法「崩潰」點灑這個輔助方法。

沒有關於您的需求的更多細節,我認爲這對我有幫助。

+0

感謝@AbeHeward的回覆,我想我可以完成這項工作。 – Freya