Appium-Domande riguardanti la scrittura di test in Java
Sono abbastanza nuovo per Appium e test. Voglio scrivere i miei primi test per Appium in Java usando Eclipse e JUnit.
Ho già scritto un semplice test che non fa nulla. Si compila finora ma non lo so cosa sta succedendo...
Voglio sapere come funzionano i test in generale. Ho già una certa esperienza nella programmazione e quindi alcune azioni in corso sono un po ' strane per me :).
Ad esempio: per quanto posso vedere tutti i layout di test sono simili questo:
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 {
}
}
Ma dove posso trovare la documentazione che mi dice di scrivere un layout di test come questo. Voglio dire, perché setUp()
viene chiamato per primo - e da dove?
Ho bisogno di un costruttore e di un distruttore?
Perché viene chiamato testScriptGoesHere()
e che dire se ho più di un solo test?
Come devo accedere agli elementi dell'interfaccia utente nell'app? Qual è la buona pratica e quali metodi non dovrei usare?
Quindi mi piacerebbe avere qualsiasi documentazione che posso usare. Finora non ho trovato nulla su Google ma forse le mie parole chiave non corrispondono...?
Saluta.
3 answers
Hey ho fatto un po 'di lavoro con Appium e in questo modo ci è voluto un po' per abituarmi.
Prima di tutto questo Appium tutorial è stato di grande aiuto e ho anche trovato questo tutorial su JUnit anche per essere molto utile
Una cosa da notare la cosa importante nel tuo codice sono le annotazioni @Before
, @After
etc sono i più importanti, e non il nome del metodo setUp()
.
Il metodo setUp()
viene eseguito prima di ogni test, a causa dell'annotazione @Before
e si esegue sempre devono includere le funzionalità del dispositivo-nome del dispositivo, versione, nome della piattaforma e il link/nome dell'app da testare. Questi devono quindi essere collegati al server appium.
Il metodo testScriptGoesHere()
viene eseguito a causa dell'annotazione @Test
ed è qui che includi il codice che automatizza il processo di navigazione attraverso l'app, ad esempio accedendo, navigando tra le attività ecc.
Puoi avere più metodi @Test
e ciascuno verrebbe eseguito ogni volta che il programma è eseguire.
Ho acquistato personalmente questo e l'ho trovato di grande aiuto.
Non è necessario alcun costruttore o decostruttore poiché i test JUnit vengono eseguiti a causa delle annotazioni.
Per testare le app Android native, ho usato UIAutomatorViewer per accedere agli elementi. Per le app ibride ho usato la console di Google Chrome e le app iOS che ho usato Xcode per visualizzare gli elementi.
Questo link fornisce una buona panoramica di junit, in particolare le diverse annotazioni utilizzate da junit.
@Test, @ Before e @ Before sono annotazioni utilizzate sopra il metodo defination dice al metodo quando eseguire e come eseguire
@Test -> Annotazioni viene utilizzato per identificare che il metodo è un caso di test che esegue una serie di passaggi e corrisponde al risultato effettivo con il risultato atteso. @Before e @ After -> annotazioni significa guida il metodo da eseguire prima e dopo ogni caso di test
Ora puoi vedere il codice scritto nel metodo setup() verrà eseguito prima di ogni caso di test e chiamate API Appium per il supporto di test case .(Questo include l'installazione della piattaforma per lanciare l'app). Allo stesso modo il metodo teardown ha chiuso l'app e chiude l'esecuzione del test case.
Se vuoi saperne di più su Appium leggi questo Appium Tutorial