2016-07-25 12 views

Antwort

1

Keine Notwendigkeit, um Ihre eigenen Rahmen zu schaffen - Die ganze Arbeit wurde mit UITest und SpecFlow erledigt.

Automation Test:

Xamarin haben bereits ein Automatisierungs-Framework, das auf iOS und Android Apps arbeitet UITest genannt. Sie schreiben Ihre Tests mit C# mit NUnit (aber nur bis zu 2.6.4, NUnit 3 wird noch nicht unterstützt) als Testframework und können direkt mit Ihrer App interagieren, den visuellen Baum abfragen, Text eingeben, Schaltflächen antippen, Werte ablesen Überprüfen Sie, welche Steuerelemente sichtbar sind und greifen Sie sogar auf Backdoors zu (Code in Ihrer App für Textzwecke) oder rufen Sie Methoden für die Klassen auf (nützlich zum Überprüfen von Werten, die nicht im visuellen Baum enthalten sind). Sobald Sie Ihre UI-Tests haben, können Sie sie auf Simulatoren, physischen Geräten oder wenn Sie sich reich genug in ihrer Test Cloud fühlen - Tausende von physischen Geräten in der Cloud.

Sie können mehr über diese auf ihren Entwickler-Website zu lesen:

https://developer.xamarin.com/guides/testcloud/uitest/intro-to-uitest/

BDD

Sobald Sie UITest verwenden es ist wirklich einfach mit BDD mit SpecFlow zu starten. Es gibt eine Visual Studio-Erweiterung und ein Xamarin Studio-Add-In, um dies zu ermöglichen. Im Wesentlichen schreiben Sie Ihre BDD-Szenarien und hinter den Kulissen werden NUnit-Tests erstellt. Da es sich um NUnit handelt, können Sie UITest einfach verwenden, damit Ihre Szenarien die Vorgänge in Ihrer App automatisieren.

Sie können mehr über SpecFlow lesen bei http://www.specflow.org

Bildschirm Muster Objekt

Um Ihre Tests einfacher zu schreiben Ich empfehle Lesen auf dem Bildschirm Objektmuster (eine gute Führung von Greg Shackles hoch ist hier: http://gregshackles.com/testing-xamarin-apps-screen-object-pattern/). Mit diesem Muster können Sie jeden Bildschirm abstrahieren. Wenn die Benutzeroberfläche geändert wird, müssen Sie nur die Bildschirmdefinitionsklasse aktualisieren. Sie können dann eine Schrittklasse schreiben, die die BDD-Schritte für jeden Bildschirm enthält, der auf die Bildschirmklasse verweist, und für Ihre Szenarien diese Schritte verwenden.

Weitere Ressourcen

Wenn Sie wie Podcasts würde ich sehr die jüngste gegangenes Mobil Folge empfehlen (durch die zuvor erwähnte Greg Shackles gehostet!), Wo sie mit diesen diskutiert: http://gonemobile.io/blog/e0035.mobile.testing.with.alexandra.marin/

Rob Gibbens von Xamarin Universität auch eine große Blog-Post auf diese hat: http://arteksoftware.com/bdd-tests-with-xamarin-uitest-and-specflow/

Wir dies bei der Arbeit im Zorn verwenden - wir führen eine kleine Suite von UI-Tests für jede Pull-Anforderung und ein riesiger nächtlicher Lauf, der alles auf einer Reihe von Geräten abdeckt. Jeder einzelne Test wird als eine Reihe von SpecFlow-Szenarien unter Verwendung des Bildschirmobjektmusters geschrieben. Wir testen lokal auf einer Reihe von physischen Geräten, da wir uns mit hausinternen Servern verbinden müssen. Gelegentlich wird die Test Cloud jedoch zur Untersuchung eines Problems verwendet, das nur auf einem bestimmten Gerät auftritt.

1

seine für den Test Ihrer Anwendung auf jedem Gerät Test Views, Funktionalität und ... statt Ihrer App auf vielen Android- oder iOS-Gerät installieren und Ihre App testen, erstellen Sie eine aotomation dafür gibt es viele Rahmen für Aber ich denke, die besten von ihnen Appium und man kann so etwas wie this für Test jede andorid Gerät mit einer beliebigen Version ... tatsächlich appium Arbeit wie ein Roboter ...

+0

Dank Mohamaad. Aber ich bin neu in BDD. Können Sie mir bitte ein Beispiel geben Wie kann ich von Scratched und starten Kann ich mein eigenes Framework erstellen. – manoj

+0

@manoj anfangen mit appium zu arbeiten, suche auf youtube gibt es viele toturial video, aber ich kann es erklären: zuerst verbinden sie ihr telefon und verbinden sie mit adb, und starten appium server dann sollten sie auf ihrem handy mit appium, sie kann jede Sprache verwenden, aber ich benutze, net API. – mohammad

+0

Wenn ich meinen eigenen Automatisierungstest in C# schreiben möchte, kann ich schreiben? – manoj

0

Automatisiertes Testframework ermöglicht einige Testverfahren, die die wiederholten Aufgaben minimieren. Der Testfall wird auf dem Bildschirm mit verschiedenen Datensätzen ausgeführt. BDD ist eine Technik, bei der der Beispieldatensatz bereits generiert und während der Entwicklung verwendet wird, um sicherzustellen, dass die Implementierung korrekt ist.