2016-03-30 8 views
2

Ich bin ziemlich neu in Appium und testen. Ich möchte meine ersten Tests für Appium in Java mit Eclipse und JUnit schreiben.Appium - Fragen zum Testschreiben in Java

Ich habe bereits einen einfachen Test geschrieben, der nichts tut. Es kompiliert so weit, aber ich weiß nicht, was los ist ...

Ich möchte wissen, wie die Tests im Allgemeinen funktionieren. Ich habe bereits Erfahrung in der Programmierung und daher sind einige Aktionen etwas seltsam für mich :).

Zum Beispiel: Soweit ich alle Tests Layouts so aussehen sehen:

public class AppiumIOSTest { 

    private WebDriver driver; 

    @Before 
    public void setUp() throws Exception { 

     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities.setCapability("platformName", "ios"); 
     capabilities.setCapability("platformVersion", "9.2"); 
     capabilities.setCapability("deviceName","iPhone 6"); 
     capabilities.setCapability("app", "TestApp.app"); 


     driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
    } 

    @After 
    public void tearDown() throws Exception { 
     driver.quit(); 
    } 


    @Test 
    public void testScriptGoesHere() throws Exception { 

    } 
} 

Aber wo kann ich Dokumentation finden, der sagen mir ein Testlayout wie diese zu schreiben. Ich meine, warum heißt setUp() zuerst - und woher? Benötige ich einen Konstruktor und Destruktor? Warum wird testScriptGoesHere() aufgerufen und was ist, wenn ich mehr als nur einen Test habe?

Wie muss ich auf die UI-Elemente in der App zugreifen? Was ist eine gute Übung und welche Methoden sollte ich nicht verwenden?

So hätte ich gerne Dokumentation, die ich verwenden kann. Bisher habe ich bei Google nichts gefunden, aber vielleicht stimmen meine Keywords nicht überein ...?

Greets.

+3

lesen geht hier: http://junit.sourceforge.net/javadoc/ appium die Einführung hier: http://appium.io/introduction .html? lang = en Good Practices sind moduliert nach den Benutzern – nullpointer

+0

die Fragen als zu breit zu markieren – nullpointer

+0

Vielen Dank. Ich kannte die Dokumentation von Appium bereits. Aber die Ärzte haben mir bezüglich meiner Angelegenheit nicht geholfen. Zum Beispiel: Kann ich die 'setUp()' Methode umbenennen? Oder wird diese Namensdefinition irgendwo fixiert? –

Antwort

1

Hey ich habe etwas Arbeit mit Appium gemacht und so dauerte es eine Weile, bis ich mich daran gewöhnt habe.

Zunächst einmal diese Appium tutorial eine große Hilfe war und auch fand ich dieses Tutorial auf JUnit auch

Eine Sache sehr hilfreich sein das Wichtigste in Ihrem Code zu beachten ist die Anmerkungen @Before, @After usw. sind die wichtigste und nicht der Name der Methode setUp().

Die Methode setUp() wird vor jedem Test ausgeführt, wegen der @Before Annotation, und Sie müssen immer die Funktionen des Geräts einschließen - Gerätename, Version, Plattformname und Link/Name der zu testenden App. Diese müssen dann mit dem Appium-Server verknüpft werden.

Die testScriptGoesHere() Methode ist wegen der @Test Anmerkung läuft und das ist, wo Sie den Code enthalten würden, die den Prozess des Gehens über die App automatisiert - zum Beispiel in der Anmeldung, durch Aktivitäten der Navigation usw. Sie mehr @Test Methoden haben können und jeder würde jedes Mal durchlaufen werden, wenn das Programm ausgeführt wird.

Ich kaufte persönlich this und fand es eine große Hilfe.

Es ist kein Konstruktor oder Dekonstruktor erforderlich, da die JUnit-Tests aufgrund der Anmerkungen ausgeführt werden.

Um native Android-Apps zu testen, habe ich UIAutomatorViewer verwendet, um auf die Elemente zuzugreifen. Für Hybrid-Apps habe ich die Google Chrome-Konsole und iOS-Apps verwendet, für die ich Xcode verwendet habe, um die Elemente anzuzeigen.

+0

Vielen Dank. In welcher Reihenfolge wird der Test ausgeführt, wenn ich mehr als nur einen Test spezifiziere? –

+0

Soweit ich weiß sind sie von oben nach unten geordnet. – Dan

+0

@SteveMurdock: Die Tests werden nach dem Zufallsprinzip ausgeführt, außer Sie geben 'dependsOnMethod' für alle an. Dies soll Ihnen helfen zu verstehen: http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4 – nullpointer

1

Diese link gibt Ihnen einen guten Überblick über Junit, insbesondere die verschiedenen Annotationen von Junit.

0

@Test, @Before und @Before sind Anmerkungen obige Verfahren defination verwendet erzählt die Methode, wenn auszuführen und wie ausführen

@Test -> Anmerkungen zur Identifizierung verwendet wird, dass das Verfahren ein Testfall Durchführung Serie von Schritten und übereinstimmendes tatsächliches Ergebnis mit erwartetem Ergebnis. @Before und @After -> Annotations bedeutet, dass die Methode vor und nach jedem Testfall ausgeführt wird

Nun können Sie sehen, dass der in der Methode setup() geschriebene Code vor jedem Testfall ausgeführt wird und Appium API für den Testfall aufruft Unterstützung. (Dies beinhaltet das Einrichten der Plattform zum Starten der App). Gleicher Weg Teardown-Methode schloss die App und beendet die Testfallausführung.

Wenn Sie mehr erfahren möchten über Appium dann diese junit docs Appium Tutorial