Appium Dipendenza Maven: Configura con Eclipse Esempio di progetto
⚡ Riepilogo intelligente
Appium La gestione delle dipendenze di Maven consente a un progetto di automazione mobile di dichiarare l'artefatto java-client nel file pom.xml, in modo che Maven risolva automaticamente ogni file jar e la stessa build venga eseguita su qualsiasi macchina senza bisogno di download manuali.
Cosa è Apache Maven?
Apache Maven è un Javastrumento di gestione e automazione dei progetti basato su PC. Fornisce un framework multitasking per gli sviluppatori per facilitare il ciclo di vita completo della build Java applicazioni. Maven è predefinito e dichiarato in un formato XML chiamato POM (Project Object Model) e denominato "pom.xml". Può essere utilizzato anche per altri linguaggi come C#, Scala, Ruby, ecc.
Utilizzando il framework Maven, è possibile gestire facilmente le seguenti attività in qualsiasi progetto:
- Ciclo di costruzione
- Documentazione del progetto
- Segnala controlli
- Gestione delle mischie
- Informazioni sulla versione
Gli utilizzi di base di Maven sono:
- Applica una struttura di directory standard.
- Fornire una struttura di progetto riutilizzabile e di facile manutenzione.
- Risolvere le dipendenze dei pacchetti.
- Fornire un quadro di gestione della configurazione.
Quella capacità di risoluzione delle dipendenze è esattamente ciò che un Appium esigenze del progetto, perché il Java il cliente tira fuori una catena di Selenium file jar che nessuno vuole scaricare manualmente.
Scaricare Appium Dipendenze Mavenven
Prima di iniziare a scrivere un Appium test di dipendenza con Maven, è necessario scaricare il Appium dipendenza Maven — la Appium Scarica il file JAR — dal Sito web del repository centrale di MavenLo screenshot qui sotto mostra l'elenco degli artefatti java-client su Maven Central, dove sono disponibili tutte le versioni pubblicate e i relativi snippet precompilati.
Oppure aggiungi direttamente l'artefatto POM.xml menzionato di seguito:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Nota sulla versione: , il 3.4.1 La coordinata sopra è l'esempio originale e mostra ancora la forma corretta del blocco. È precedente al protocollo W3C WebDriver, quindi un nuovo progetto dovrebbe aggiornare la versione. Al momento della stesura di questo testo, la versione corrente su Maven Central è 10.1.1, che richiede Selenium 4.42.0 o successivo.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Per favore, consulta il nostro Tutorial per esperti per sapere come configurare Maven con Eclipse.
Appium Struttura del progetto Maven e dipendenze richieste
Maven impone una struttura fissa, e conoscerla previene gran parte della confusione che seguirà in seguito in questa guida. Un progetto generato contiene quattro posizioni importanti:
- pom.xml — il Project Object Model nella directory principale del progetto, dove vengono dichiarate tutte le dipendenze e i plugin.
- src / main / java — classi applicative e di supporto.
- src/test/java — classi di test e l'unica directory che il plugin Surefire analizza quando si esegue una build.
- bersaglio — output compilato e report di test, rigenerati a ogni compilazione.
Migliori Appium java-client è l'unica dipendenza obbligatoria, perché dichiara il Selenium API, driver remoti e artefatti di supporto in modo transitivo. Molti team ancora fissano Selenium esplicitamente in modo che la versione sia visibile in un unico posto e aggiungi un test runner:
<dependencies> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.42.0</version> </dependency> </dependencies>
Mantieni compatibili le due versioni. Una release di java-client afferma che Selenium gamma supportata e mescolando un vecchio client con uno molto più recente Selenium è la causa più comune di un NoSuchMethodError in fase di esecuzione. repository del client Java documenta l'abbinamento per ogni rilascio.
Applicazione di test con Appium e Maven
Con la dipendenza in essere, il Eclipse Il flusso di lavoro seguente crea un progetto eseguibile da zero. Dopo aver configurato il Appium Java Plug-in Maven Eclipse, l'area di lavoro è pronta per testare qualsiasi Android .apk applicazione con Appium e Maven, come mostrato nel Appium Esempio di progetto Maven di seguito.
Passo 1) In questa fase,
- Vai a NUOVO >> seleziona il progetto Maven
- Fai clic sul pulsante 'avanti'
La procedura guidata per la creazione di un nuovo progetto si apre con l'opzione "Progetto Maven" evidenziata, come mostrato qui.
Passo 2) Quindi nella finestra 'Nuovo progetto Maven', immettere 'Appium 'Test' nelle colonne ID gruppo e ID artefatto. In questo passaggio, è necessario inserire:
- ID gruppo
- ID artefatto
- Versione
- Packaging
- Nome e Descriptione
- Finitura
Il modulo "Nuovo progetto Maven" compilato si presenta come nello screenshot qui sotto.
Facendo clic sul pulsante Fine si aprirà una nuova classe con l'ID gruppo definito (Appiumprova) nome.
Passo 3) Per iniziare con il Appium script, fai clic con il pulsante destro del mouse su 'src/main/java' nella finestra di Esplora risorse a sinistra. Quindi seleziona Nuovo >> classe. Scrivi il Appium codice all'interno della classe selezionata.
Il menu contestuale utilizzato per creare quella classe è mostrato di seguito.
Passo 4) Nello stesso progetto, fai clic su pom.xml nel menu Esplora risorse a sinistra. Tutte le dipendenze saranno visibili per impostazione predefinita nella scheda 'pom.xml'. Fai riferimento all'immagine seguente.
Se il pom.xml predefinito non esiste, aggiungi semplicemente tutti i file Maven Appium dipendenze, ad esempiotractratto dal sito web del repository centrale di Maven:
https://central.sonatype.com/artifact/io.appium/java-client
Il pom.xml modificato con il Appium Le dipendenze aggiunte sono mostrate di seguito.
Passo 5) Ora, fai clic con il pulsante destro del mouse su 'pom.xml' nell'explorer a sinistra oppure sul codice XML per il 'AppiumProgetto "Test". Quindi fai clic sull'opzione "Esegui come >> Maven Clean", come mostrato di seguito.
Durante l'esecuzione, puoi vedere tutti i file jar relativi a Maven e un messaggio di successo, come nell'output della console qui sotto. Ecco come si esegue un Appium Java Test delle dipendenze client Maven in un ambiente configurato con Maven.
Come correre Appium Test con comandi Maven
Migliori Eclipse Il menu è comodo, ma la stessa build deve essere eseguita in modalità automatica su un server di build, e in quel caso la riga di comando è l'unica opzione. Apri un terminale nella cartella che contiene il file pom.xml e usa questi comandi.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Ognuno ha un compito ben preciso:
- mvn clean elimina il
targetdirectory in modo che nulla di obsoleto sopravviva alla build successiva. Questo è il comando Eclipse la procedura guidata sopra riporta i trigger. - test pulito mvn compila il progetto ed esegue le classi di test. Il plugin Maven Surefire le rileva automaticamente da
src/test/java, utilizzando i modelli di inclusione predefinitiTest*.java,*Test.java,*Tests.javaand*TestCase.java. - installazione pulita mvn esegue i test e poi inserisce l'artefatto impacchettato nel repository locale, in modo che un altro progetto possa dipendere da esso.
- mvn test -Dtest=LoginTest restringe l'esecuzione a una singola classe durante il debug.
Due punti traggono in inganno le persone. Primo, il Appium Il server deve essere già in esecuzione e un dispositivo o un emulatore deve essere connesso prima dell'avvio della build, perché Maven non avvia nessuno dei due: verifica il dispositivo con un adb prima controllare. In secondo luogo, i risultati vengono scritti su target/surefire-reports, che è la cartella che un job CI dovrebbe archiviare. Guida all'uso di Surefire copre le opzioni di configurazione in dettaglio e gli stessi comandi guidano un Appium suite da Jenkins.
Uncommon Appium Errori di Maven e come risolverli
La maggior parte dei fallimenti in un Appium I problemi di configurazione di Maven derivano da una serie di cause ripetibili, piuttosto che dal codice di test stesso. La tabella seguente associa ciascun sintomo alla relativa soluzione.
| Sintomo | Causa probabile | Fissare |
| Impossibile risolvere le dipendenze per io.appium:java-client | Stringa di versione errata oppure nessun accesso di rete a Maven Central | Copia le coordinate direttamente dall'elenco di Maven Central e riavvia la build. |
| NoSuchMethodError o NoClassDefFoundError da un Selenium classe | Le versioni di java-client e selenium-java sono incompatibili | Abbinare la Selenium versione per l'intervallo dichiarato dalla release del client Java |
| I test vengono compilati ma nessuno viene eseguito. | Le classi di test si trovano in src/main/java oppure il nome della classe non corrisponde a un modello di inclusione di Surefire | Spostali in src/test/java e rinomina la classe in modo che termini con Test |
| Connessione rifiutata sulla porta 4723 | Migliori Appium il server non è in esecuzione | Avvia la Appium server prima della build |
| Funzionalità non valida o non supportata | Nomi di funzionalità legacy utilizzati con un driver moderno | Revguarda l'attuale capacità desiderate per la tua piattaforma |
| Versione principale del file di classe non supportata | Il JDK utilizzato da Maven differisce dal livello del compilatore specificato nel file pom.xml. | Allineare le proprietà maven.compiler.source e target con quelle installate JDK |
Quando una build fallisce, leggi il primo errore visualizzato da Maven anziché l'ultimo. Le righe successive sono solitamente la conseguenza del primo artefatto mancante.








