2016-05-06 59 views
1

我想爲我的Windows Phone 8.1應用程序創建編碼的UI測試,但在使用我的測試方法時遇到了一些困難。C#單元測試:使用使用網絡的API的UnauthorizedAccessException

在我的測試方法中,我首先調用一個方法來連接後端的API。 API調用使我的後端向我的應用發送通知。我想要我的UI測試現在要做的是測試並驗證UI是否正確顯示了它收到的通知和數據。

簡而言之:我想做一個測試,觸發我後端的通知,然後驗證用戶界面在收到它後的行爲如預期。

這裏的問題是,每當我調用該方法,它調用後端API,我得到一個:

System.UnauthorizedAccessException的:網絡API的使用需要 中所定義的ID_CAP_NETWORKING能力這個標誌是在應用程序中正確設置應用 清單

表現出來,並有很好的理由,我不能把它在我的編碼的UI測試項目,因爲它沒有應用程序清單。

我嘗試通過僅使用API​​創建第三個項目(以便我有一個電話,測試和API項目)來解決此問題。測試項目現在會調用另一個項目中的API調用方法,但這並沒有幫助。

是否有任何解決方法,如果是的話,他們會是什麼?

謝謝!

+0

相關:http://stackoverflow.com/questions/30211128/how-to-add-capabilities-to-coded-ui-test-windows-phone-8-1-project-in-c – Caramiriel

+0

感謝您的評論。我已經看過那個鏈接,並且我理解他們的觀點(這是一個很好的 - 我想測試項目的UI,而不是單個網絡元素)。無論如何,在這種情況下,我的niché問題是我有兩個應用程序:一個用於消費者,另一個用於零售。消費者應用程序需要批准來自零售應用程序的請求,因此除非從商家應用程序完成請求,否則我幾乎沒有什麼可以測試UI方式。這就是爲什麼我在我的消費者測試中嘗試使用代碼隱藏來發送請求,所以只要我開始測試,就有一個請求來執行操作。 – oPolo

回答

1

Coded UI Test似乎沒有辦法解決這個問題,這看起來像是一個巨大的缺陷,因爲我們的應用程序針對的是API!

我們放棄了Coded UI Test,而是使用了Winium-StoreApps(可以在Github上找到)。它很好地完成了UI測試,比編碼的UI測試快得多,同時允許API訪問,文件系統訪問等。