1

Ich versuche Coded UI Tests für meine Windows Phone 8.1 App zu erstellen, habe aber einige Schwierigkeiten mit meinen Testmethoden.C# -Einheitstest: UnauthorizedAccessException bei Verwendung der API, die das Netzwerk verwendet

In meinen Testmethoden rufe ich zunächst eine Methode auf, die sich mit der API meines Backends verbindet. Der API-Aufruf veranlasst mein Backend, eine Benachrichtigung an meine App zu senden. Was ich jetzt mit meinem UI-Test tun möchte, ist der Test und vergewissere dich, dass die Benutzeroberfläche die Benachrichtigung und die Daten, die sie erhalten hat, korrekt anzeigt.

Kurz gesagt: Ich möchte einen Test erstellen, der eine Benachrichtigung von meinem Back-End auslöst, und dann überprüft, dass die Benutzeroberfläche wie erwartet nach dem Empfangen verhält.

Das Problem dabei ist, dass, wann immer ich die Methode aufrufen, die die Back-End-API-Aufrufe, erhalte ich ein:

System.UnauthorizedAccessException: Die Verwendung von Netzwerk-APIs erfordert die ID_CAP_NETWORKING Fähigkeit in zu definierende die Anwendung manifest

Dieses Flag ordnungsgemäß in der Anwendung festgelegt wird sich manifestieren und aus guten Gründen, ich kann es nicht in meinem codierten UI-Test-Projekt festgelegt, da sie keine Anwendung manifestieren hat.

Ich habe versucht, um dies zu umgehen, indem Sie ein drittes Projekt mit nur der API (so dass ich ein Telefon, Test-und API-Projekt). Das Testprojekt würde jetzt die API-Aufrufmethode in einem anderen Projekt aufrufen, aber das half nicht.

Gibt es irgendwelche Umgehungsmöglichkeiten und wenn ja, welche wären das?

Danke!

+0

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

+0

Danke für die Kommentar. Ich habe mir diesen Link bereits angesehen und ich verstehe ihren Punkt (es ist ein guter - ich möchte die Benutzeroberfläche des Projekts testen, nicht die einzelnen Netzwerkelemente). Mein Niche-Problem ist in diesem Fall, dass ich zwei Apps habe: Eine für die Konsumenten und eine für den Einzelhandel. Die Consumer-App muss Anfragen von der Retail-App genehmigen, sodass ich wenig bis nichts über die Benutzeroberfläche testen kann, sofern nicht eine Anfrage von der Merchant-App erfolgt. Deshalb versuche ich Code-Behind in meinem Consumer-Test, um eine Anfrage zu senden, so gibt es eine Anfrage zu handeln, wenn ich meinen Test starte. – oPolo

Antwort

1

Es scheint, dass es im Coded UI Test keinen Weg gibt, was wie ein großer Nachteil erscheint, da unsere App gegen eine API arbeitet!

Wir haben Coded UI Test fallengelassen und stattdessen ging mit Winium-StoreApps (kann auf Github gefunden werden). Es macht die UI-Tests gut, ist viel schneller als Codierte UI-Tests und ermöglicht unterdessen API-Zugriff, Dateisystemzugriff usw..

Verwandte Themen