我試圖設置與Android項目和黃瓜的持續集成。如何做Cucumber Android集成測試?
這個想法是在Cucumber中編寫測試,並通過Cuke4Duke和NativeDriver for Android在我的Android版本上運行測試。
當我有這個運行時,我打算使用Maven和一個Jenkins服務器來自動化測試,所以每次我提交Subversion回購時都會運行它。
之前已經完成了嗎?有什麼好的指南嗎?或者這樣做是一個壞主意?
我試圖設置與Android項目和黃瓜的持續集成。如何做Cucumber Android集成測試?
這個想法是在Cucumber中編寫測試,並通過Cuke4Duke和NativeDriver for Android在我的Android版本上運行測試。
當我有這個運行時,我打算使用Maven和一個Jenkins服務器來自動化測試,所以每次我提交Subversion回購時都會運行它。
之前已經完成了嗎?有什麼好的指南嗎?或者這樣做是一個壞主意?
我不認爲你的計劃是一個壞主意。但我不知道任何人在使用Android CI進行特定設置。
您可能還想看看Robotium,它就像Selenium for Android一樣,並且提供了一個非常豐富的DSL,可以幫助您執行cuke4duke步驟。
在我的公司,我們使用一些不同的設置(但可能您將不得不解決類似的挑戰):Jenkins + Jenkins Android插件+ Robotium + Ant。我們發現當你嘗試將它用於更復雜和簡單的構建時,ant很難維護,我們正在將腳本重寫爲gradle。
它工作得很好,但是您應該知道兩個潛在問題: 1.模擬器速度很慢(即使在快速服務器上) - 您可以考慮將物理設備連接到服務器。 2.您可能必須爲模擬器設置鎖定(或僅使用一個執行器),因爲使用多個模擬器實例非常困難。
我們所做的是在Robotium上面編寫測試儀表引擎。該引擎主要是一個狀態機,它從文本文件中讀取關鍵字並將它們轉換爲Robotium API調用。我們最初注意到輸入和輸出是相同的:用戶在屏幕上輕擊,顯示新的屏幕或顯示新的文本。
這使我們能夠實現關鍵字測試驅動,但它在設備上運行,因此不能遠程執行。
20%的努力獲得80%的好處:易於編寫/添加任何人都可讀的新測試。當然有限制,但我們的目標已經實現。
乾杯 章
我們正在做你打算使用Maven,詹金斯和Git到底該怎麼做。缺少的成分是從lesspainful.comandroid/cucumber integration。
我建議你試試這個庫:https://github.com/mauriciotogneri/green-coffee 你只需要導入它,然後你就可以運行你的測試在小黃瓜寫。 –