回答
無需創建自己的框架 - 使用UITest和SpecFlow完成了所有艱苦的工作。
自動化測試:
Xamarin已經有一個自動化框架,在iOS和Android應用程序的工作稱爲UITest。你可以使用C#編寫你的測試作爲測試框架,並且可以直接與你的應用進行交互,查詢可視化樹,輸入文本,點擊按鈕,讀取值(使用NUnit)(但只支持2.6.4,還不支持NUnit 3) ,檢查哪些控件可見,甚至訪問後門(用於文本目的的應用程序中的代碼)或調用類的方法(用於檢查不在可視樹中的值)。一旦你進行了UI測試,你就可以在模擬器,物理設備上運行它們,或者如果你在他們的測試雲上感覺足夠豐富 - 雲中有數千個物理設備。一旦您使用UITest它真的很容易開始使用SpecFlow BDD
https://developer.xamarin.com/guides/testcloud/uitest/intro-to-uitest/
BDD
:
你可以閱讀更多關於這對他們的開發者網站。有一個Visual Studio擴展和一個Xamarin Studio加載項來啓用它。從本質上講,你編寫你的BDD場景並在後臺創建NUnit測試。由於它是NUnit,您可以輕鬆使用UITest,以便您的場景自動化應用中發生的事件。
屏幕對象模式閱讀更多關於SpecFlow
爲了讓你的測試更容易寫我強烈建議在屏幕上的對象圖案讀出了(從格雷格鐐銬一個很好的指南這裏:http://gregshackles.com/testing-xamarin-apps-screen-object-pattern/)。這種模式允許你抽出每個屏幕,所以如果UI改變你只需要更新屏幕定義類。然後,您可以編寫一個包含涉及屏幕類的每個屏幕的BDD步驟的步驟類,並且針對您的方案使用這些步驟。
更多資源
如果你喜歡的播客我會強烈建議近期實現了移動插曲(由上述格雷格鐐銬託管!),他們討論了這一點:從Xamarin大學http://gonemobile.io/blog/e0035.mobile.testing.with.alexandra.marin/
羅布Gibbens也對這個偉大的博客文章:http://arteksoftware.com/bdd-tests-with-xamarin-uitest-and-specflow/
我們在工作中使用這種憤怒 - 我們運行的UI測試一個小套房,每拉請求還有一個巨大的夜間跑步覆蓋了一系列設備上的所有內容。使用屏幕對象模式將每個測試都編寫爲一組SpecFlow場景。我們在一系列物理設備上進行本地測試,因爲我們需要連接到內部服務器,但偶爾會使用測試雲來研究只發生在特定設備上的問題。
自動化測試框架允許一些測試程序使重複任務最小化。測試用例在屏幕上使用不同的數據集執行。 BDD是一種在開發過程中已經生成和使用樣本數據集以確保實現是正確的技術。
- 1. 用於人爲驅動測試的BDD式測試框架
- 2. 自動化的Web應用程序測試框架
- 3. WSO2應用程序的自動化測試框架
- 4. BDD Android UI測試框架?
- 5. 移動應用程序框架?
- 6. 移動應用程序開發框架
- 7. 自動測試框架
- 8. 測試自動化框架
- 9. ActionScript:自動測試框架
- 10. 兩個移動應用程序的通信測試自動化
- 11. 移動應用程序的自動跨平臺測試
- 12. 自動化移動Flex應用程序測試
- 13. 測試原生移動應用程序
- 14. 移動混合應用程序測試
- 15. 移動應用程序測試遠程測試實驗室
- 16. OpenGL應用程序的自動測試
- 17. 應用程序測試自動化
- 18. USSD應用程序自動化測試
- 19. 自動測試web應用程序
- 20. WPF應用程序測試自動化
- 21. 應用程序的自動OS測試?
- 22. 自動測試Web應用程序
- 23. 移動應用程序的UWP移動運行WACK測試
- 24. MFC應用程序的測試框架
- 25. 使用HTML5和jQuery移動框架開發和測試移動應用程序的最佳工具是什麼?
- 26. BDD測試框架-RSpec和黃瓜
- 27. 模塊化自動化測試服務/框架的網絡應用程序
- 28. 移動應用框架?
- 29. webservices自動化測試框架
- 30. Magento測試自動化框架(MTAF)
感謝Mohamaad。 但我是新的BDD。 你可以給我任何例子我怎麼能從Scratched開始和 我可以創建我自己的框架。 – manoj
@manoj開始與appium合作,在youtube上搜索有很多toturial視頻,但我可以解釋它:首先,連接手機並使用adb連接到它,然後啓動appium服務器,然後您應該使用appium在手機上進行測試,可以使用任何語言,但我使用net API。 – mohammad
如果我想用C#編寫自己的自動化測試,我可以寫嗎? – manoj