Appium Maven-avhengighet: Oppsett med Eclipse Eksempel på prosjekt
⚡ Smart oppsummering
Appium Maven-avhengighetshåndtering lar et mobilt automatiseringsprosjekt deklarere java-client-artefakten i pom.xml, slik at Maven løser hver jar automatisk og den samme byggingen kjører på hvilken som helst maskin uten manuelle nedlastinger.

Hva er Apache Maven?
Apache Maven er en Java-basert prosjektledelse og automatiseringsverktøy. Det gir et multitasking-rammeverk for utviklere å forenkle hele byggelivssyklusen for Java applikasjoner. Maven er forhåndsdefinert og erklært i et XML-format kalt POM (Project Object Model) og referert til som 'pom.xml.' Den kan også brukes for andre språk som C#, Scala, Ruby, etc.
Ved hjelp av Maven-rammeverket kan du enkelt administrere følgende oppgaver i ethvert prosjekt:
- Bygg syklus
- Prosjektdokumentasjon
- Rapporter sjekker
- Scrums ledelse
- Slipp informasjon
Grunnleggende bruksområder for Maven er:
- Håndhever en standard katalogstruktur.
- Gi en gjenbrukbar og enkel å vedlikeholde prosjektstruktur.
- Løs pakkeavhengigheter.
- Gi et rammeverk for konfigurasjonsadministrasjon.
Den evnen til å løse avhengigheter er akkurat det en Appium prosjektets behov, fordi Java klienten trekker inn en kjede av Selenium krukker som ingen vil laste ned for hånd.
Last ned Appium Maven avhengigheter
Før du begynner å skrive en Appium avhengighetstest med Maven, må du laste ned Appium Maven-avhengighet – Appium JAR-nedlastingsfil – fra Nettsted for Mavens sentrale arkivSkjermbildet nedenfor viser listen over Java-klient-artefakter på Maven Central, der alle publiserte versjoner og det ferdige kodeutdraget er tilgjengelige.
Eller legg direkte til POM.xml-artefakten som er nevnt nedenfor:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Versjonsmerknad: de 3.4.1 Koordinaten ovenfor er det originale eksemplet og viser fortsatt blokkens riktige form. Den er eldre enn W3C WebDriver-protokollen, så et nytt prosjekt bør oppgradere versjonen. I skrivende stund er den nåværende utgivelsen på Maven Central 10.1.1, som krever Selenium 4.42.0 eller nyere.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Vennligst gå gjennom vår Maven opplæring for å lære hvordan du konfigurerer Maven med Eclipse.
Appium Maven-prosjektstruktur og nødvendige avhengigheter
Maven bruker en fast layout, og det å vite dette forhindrer mesteparten av forvirringen som følger senere i denne gjennomgangen. Et generert prosjekt inneholder fire steder som er viktige:
- pom.xml — prosjektobjektmodellen ved prosjektroten, der alle avhengigheter og pluginer deklareres.
- src / main / java — applikasjons- og hjelpeklasser.
- src/test/java — testklasser, og den eneste mappen Surefire-pluginen skanner når du kjører en build.
- mål — kompilerte utdata- og testrapporter, generert på nytt for hver versjon.
Ocuco Appium java-client er den eneste obligatoriske avhengigheten, fordi den deklarerer Selenium API-, fjernstyrte driver- og supportartefakter transitivt. Mange team fester fortsatt Selenium eksplisitt slik at versjonen er synlig på ett sted, og legg til en testløper:
<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>
Hold de to versjonene kompatible. En Java-klientutgivelse oppgir at Selenium utvalget det støtter, og blander en gammel klient med en mye nyere Selenium er den vanligste årsaken til en NoSuchMethodError under kjøretid. java-klient repository dokumenterer sammenkoblingen for hver utgivelse.
Testing av applikasjon med Appium og Maven
Med avhengigheten på plass, Eclipse Arbeidsflyten nedenfor bygger et kjørbart prosjekt fra bunnen av. Etter at du har konfigurert Appium Java Maven-plugin Eclipse, arbeidsområdet er klart til å teste alle Android .apk søknad med Appium og Maven, som vist i Appium Maven-prosjekteksempel nedenfor.
Trinn 1) I dette trinnet
- Gå til NYTT >> velg Maven-prosjektet
- Klikk på «neste»-knappen
Veiviseren for nytt prosjekt åpnes med Maven Project uthevet, som vist her.
Trinn 2) Deretter skriver du inn ' i vinduet 'Nytt Maven-prosjekt'.Appium Test' i kolonnene Gruppe-ID og Artefakt-ID. I dette trinnet må du angi:
- Gruppe-ID
- Artefakt-ID
- Versjon
- emballasje
- Navn og Description
- Finish
Det utfylte skjemaet for New Maven Project ser ut som skjermbildet nedenfor.
Hvis du klikker på Fullfør-knappen, åpnes en ny klasse under den definerte gruppe-ID-en (AppiumTest) navn.
Trinn 3) For å starte med Appium skriptet, høyreklikk på 'src/main/java' i utforskervinduet til venstre. Velg deretter Ny >> klasse. Skriv Appium kode inne i den valgte klassen.
Kontekstmenyen som ble brukt til å opprette den klassen vises nedenfor.
Trinn 4) I det samme prosjektet klikker du på pom.xml i utforskermenyen til venstre. Alle avhengigheter vil som standard være synlige i fanen 'pom.xml'. Se bildet nedenfor.
Hvis standard pom.xml ikke finnes, legger du bare til alle Maven-filene. Appium avhengigheter, f.eks.tracfra nettstedet til Mavens sentrale repository:
https://central.sonatype.com/artifact/io.appium/java-client
Den redigerte pom.xml-filen med Appium Avhengigheter som er lagt til vises nedenfor.
Trinn 5) Høyreklikk nå på 'pom.xml' i venstre utforsker, eller på XML-koden for 'AppiumTest-prosjektet. Klikk deretter på alternativet «Kjør som >> Maven Clean», som vist nedenfor.
Mens du kjører, kan du se alle Maven-relaterte jar-filer og en suksessmelding, som i konsollutdataene nedenfor. Slik kjører du en Appium Java klient Maven-avhengighetstest i et Maven-konfigurert miljø.
Hvordan løpe Appium Tester med Maven-kommandoer
Ocuco Eclipse Menyen er praktisk, men den samme byggingen må kjøres uovervåket på en byggeserver, og der er kommandolinjen det eneste alternativet. Åpne en terminal i mappen som inneholder pom.xml og bruk disse kommandoene.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Hver av dem har en spesifikk jobb:
- mvn clean sletter
targetkatalogen slik at ingenting gammelt overlever i neste bygging. Dette er kommandoen Eclipse gjennomgang av triggere ovenfor. - mvn ren test kompilerer prosjektet og kjører testklassene. Maven Surefire-pluginen henter dem automatisk fra
src/test/java, ved bruk av standard inkluderingsmønstreTest*.java,*Test.java,*Tests.javaog*TestCase.java. - mvn ren installasjon kjører testene og plasserer deretter den pakkede artefakten i ditt lokale arkiv, slik at et annet prosjekt kan stole på den.
- mvn test -Dtest=Innloggingstest begrenser kjøringen til én enkelt klasse mens du feilsøker.
To punkter fanger folk. For det første Appium Serveren må allerede kjøre, og en enhet eller emulator må være tilkoblet før byggingen starter, fordi Maven ikke starter noen av dem – bekreft enheten med en ADB sjekk først. Deretter skrives resultatene til target/surefire-reports, som er mappen en CI-jobb skal arkivere. Surefire bruksanvisning dekker konfigurasjonsalternativene i detalj, og de samme kommandoene driver en Appium suite fra Jenkins.
Felles Appium Maven-feil og hvordan du fikser dem
De fleste feil i en Appium Maven-oppsett kommer fra en håndfull repeterbare årsaker snarere enn fra selve testkoden. Tabellen nedenfor kartlegger hvert symptom til sin vanlige løsning.
| Symptom | Sannsynlig årsak | Fix |
| Klarte ikke å løse avhengigheter for io.appium:java-client | Feil versjonsstreng, eller ingen nettverkstilgang til Maven Central | Kopier koordinaten direkte fra Maven Central-listen og kjør byggingen på nytt. |
| NoSuchMethodError eller NoClassDefFoundError fra en Selenium klasse | java-client og selenium-java-versjonene er inkompatible | Match Selenium versjon til området som java-klient-utgivelsen deklarerer |
| Tester kompileres, men ingen kjøres | Testklasser ligger i src/main/java, eller klassenavnet samsvarer ikke med et Surefire-inkluderingsmønster | Flytt dem til src/test/java og gi klassen et navn slik at den ender på Test. |
| Tilkobling avvist på port 4723 | Ocuco Appium serveren kjører ikke | Start Appium serveren før byggingen |
| Ugyldig eller ikke-støttet funksjon | Navn på eldre funksjoner brukt med en moderne driver | Revse strømmen ønskede evner for din plattform |
| Hovedversjon av klassefil som ikke støttes | JDK-en som brukes av Maven er forskjellig fra kompilatornivået i pom.xml | Juster egenskapene maven.compiler.source og target med den installerte JDK |
Når en bygging mislykkes, les den første feilen Maven skriver ut i stedet for den siste. De senere linjene er vanligvis konsekvenser av den første manglende artefakten.








