在Swift 2.0中編寫自動化UI測試時,是否有辦法模擬請求?據我所知,UI測試應該獨立於其他功能。有沒有辦法模擬來自服務器請求的響應,以測試依賴於響應的UI的行爲。例如,如果服務器關閉,UI測試仍應運行。快速舉例,登錄時,如果密碼失敗則模擬,然後UI應該顯示警報,但是,如果登錄成功,則應顯示下一頁。模擬API請求Xcode 7 Swift自動化UI測試
10
A
回答
6
在其目前的實施中,這不是直接可能與UI測試。框架直接代碼的唯一接口是launch arguments/environment。
您可以讓應用程序在此上下文中查找特定的鍵或值,並切換一些功能。例如,如果設置了MOCK_REQUESTS
密鑰,則在網絡層注入MockableHTTPClient
而不是實際的HTTPClient
。我寫了關於setting the parameters和NSHipster有關於how to read them的文章。
雖然不理想,但在技術上可以通過一些運動來完成您正在尋找的東西。
這裏是一個tutorial on stubbing network data for UI Testing我放在一起。它會引導您完成啓動和運行所需的所有步驟。
0
如果您擔心mock因任何原因進入生產環境的想法,可以考慮使用第三方解決方案,如Charles Proxy。
使用地圖本地工具,您可以將來自特定端點的呼叫路由到本機上的本地文件。您可以在您的本地文件中傳入純文本,其中包含您希望它返回的響應。根據您的例子:
你登錄點擊端點yoursite.com/login
在查爾斯您在使用地圖的本地工具,您可以路由呼叫擊中該端點,以保存在計算機即mappedlocal.txt
上的文件mappedlocal.txt包含以下文本
HTTP/1.1 404失敗
當查爾斯正在運行,你打這個端點你的反應會回來一個404錯誤。
您還可以在Charles中使用另一個名爲「map remote」的選項,並構建一個完整的模擬服務器,它可以根據需要處理呼叫和響應。這可能不是你正在尋找的東西,而是它可以幫助別人的一個選項,也是我自己使用的一個選項。
相關問題
- 1. 如何在測試運行時在Xcode UI測試中模擬網絡請求?
- 2. Xcode Swift UI測試 - 模擬器硬件鍵盤
- 3. Flex UI測試自動化
- 4. Xcode 7 UI測試訂單
- 5. Jenkins UI自動化測試
- 6. XCode 7 UI測試 - 可用行動
- 7. Calabash UI自動化測試
- 8. 模擬Xcode 7的新UI自動化動作的快速方法是什麼?
- 9. 如何在Swift中模擬NSLocale.preferredLanguages來測試請求?
- 10. 模擬服務器請求Android Espresso UI測試
- 11. Tizen TV:開發UI測試自動化
- 12. 單元測試模擬網絡請求
- 13. 模擬單元測試的HTTP請求
- 14. XCode UI自動化不再適用於模擬器
- 15. Web API單元測試的模擬請求對象
- 16. 與SWIFT 2(Xcode中7測試版5)
- 17. 爲什麼Python請求模塊不是用於Web自動化測試而不是片狀UI測試?
- 18. 單元測試:創建一個'模擬'請求來模擬MVC頁面請求
- 19. 運行Xcode的UI測試SWIFT 2.3
- 20. XCode 7中UI測試的文檔
- 21. Xcode 7中的特定UI測試
- 22. Xcode 7 UI測試不記錄刷卡
- 23. 將CSV文件傳遞給用於UI自動化測試的Swift 2文件
- 24. 如何使用命令行運行xcode UI自動化測試
- 25. 用於UI測試的Xcode自動化工具
- 26. Gmail API iOS Xcode 7,Swift 2
- 27. XCode測試自動化對於iPhone
- 28. 自動開關的Xcode配置測試模擬器和設備
- 29. 自動化UI測試工具silverlight 5
- 30. 編碼的UI測試自動化
添加了一些更合適的標籤。 – Liam
我認爲@JoeMasilotti是正確的。然而,在我的生產代碼中,我會對包含嘲笑有點緊張。 –
您可能想要查看SBTUITestTunnel,它可以方便地將測試代碼中的數據動態插入到應用程序代碼中。看到我的答案[這裏](http://stackoverflow.com/questions/36768883/how-do-i-mock-network-requests-in-xcode-ui-tests-while-the-tests-are-running/36909859 #36909859) –