Appium Maven-beroende: Konfigurera med Eclipse Projektexempel
โก Smart sammanfattning
Appium Maven-beroendehantering lรฅter ett mobilt automatiseringsprojekt deklarera java-client-artefakten i pom.xml, sรฅ att Maven lรถser varje jar-fil automatiskt och samma build kรถrs pรฅ vilken maskin som helst utan manuella nedladdningar.
Vad รคr Apache Maven?
Apache Maven รคr en Java-baserat projektlednings- och automationsverktyg. Det tillhandahรฅller ett multitasking-ramverk fรถr utvecklare att fรถrenkla hela bygglivscykeln fรถr Java applikationer. Maven รคr fรถrdefinierat och deklarerat i ett XML-format som kallas POM (Project Object Model) och kallas "pom.xml". Den kan ocksรฅ anvรคndas fรถr andra sprรฅk som C#, Scala, Ruby, etc.
Med hjรคlp av Maven-ramverket kan du enkelt hantera fรถljande uppgifter i vilket projekt som helst:
- Bygg cykel
- Projektdokumentation
- Rapportera kontroller
- Scrumshantering
- Slรคpp information
Grundlรคggande anvรคndningsomrรฅden fรถr Maven รคr:
- Genomfรถr en standardkatalogstruktur.
- Ge en รฅteranvรคndbar och lรคttskรถtt projektstruktur.
- Lรถs paketberoenden.
- Tillhandahรฅll ett ramverk fรถr konfigurationshantering.
Den fรถrmรฅgan att lรถsa beroenden รคr precis vad en Appium projektets behov, eftersom Java klienten drar in en kedja av Selenium burkar som ingen vill ladda ner fรถr hand.
Ladda ner Appium Maven beroenden
Innan du bรถrjar skriva en Appium beroendetest med Maven, du behรถver ladda ner Appium Maven-beroendet โ Appium JAR-nedladdningsfil โ frรฅn Mavens centrala arkivwebbplatsSkรคrmdumpen nedan visar listan รถver java-client-artefakter pรฅ Maven Central, dรคr varje publicerad version och dess fรคrdiga kodavsnitt รคr tillgรคngliga.
Eller lรคgg direkt till POM.xml-artefakten som nรคmns nedan:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
โ ๏ธ Versionsnotering: d 3.4.1 Koordinaten ovan รคr originalexemplet och visar fortfarande blockets korrekta form. Den รคr รคldre รคn W3C WebDriver-protokollet, sรฅ ett nytt projekt bรถr uppdatera versionen. I skrivande stund รคr den nuvarande utgรฅvan pรฅ Maven Central 10.1.1, vilket krรคver Selenium 4.42.0 eller senare.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Gรฅ gรคrna igenom vรฅr Maven handledning fรถr att lรคra dig hur du konfigurerar Maven med Eclipse.
Appium Maven-projektstruktur och nรถdvรคndiga beroenden
Maven anvรคnder en fast layout, och att veta den fรถrhindrar det mesta av den fรถrvirring som fรถljer senare i den hรคr genomgรฅngen. Ett genererat projekt innehรฅller fyra viktiga platser:
- pom.xml โ Projektobjektmodellen vid projektroten, dรคr varje beroende och plugin deklareras.
- src / main / java โ applikations- och hjรคlpklasser.
- src/test/java โ testklasser och den enda katalogen som Surefire-pluginet skannar nรคr du kรถr en build.
- mรฅl โ sammanstรคllda utdata och testrapporter, regenererade fรถr varje version.
Ocuco-landskapet Appium java-client รคr det enda obligatoriska beroendet, eftersom det deklarerar Selenium API, fjรคrrdrivrutiner och supportartefakter transitiverar. Mรฅnga team fรคster fortfarande Selenium explicit sรฅ att versionen รคr synlig pรฅ ett stรคlle, och lรคgg till en testkรถrare:
<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>
Hรฅll de tvรฅ versionerna kompatibla. En Java-klient-utgรฅva anger att Selenium det stรถder, och blandar en gammal klient med en mycket nyare Selenium รคr den vanligaste orsaken till ett NoSuchMethodError vid kรถrning. java-klient-arkiv dokumenterar parningen fรถr varje utgรฅva.
Testapplikation med Appium och Maven
Med beroendet pรฅ plats, den Eclipse arbetsflรถdet nedan bygger ett kรถrbart projekt frรฅn grunden. Efter att ha konfigurerat Appium Java Maven-plugin Eclipse, arbetsytan รคr redo att testa alla Android .apk ansรถkan med Appium och Maven, som visas i Appium Maven-projektexempel nedan.
Steg 1) I detta steg
- Gรฅ till NYTT >> vรคlj Maven-projekt
- Klicka pรฅ knappen 'nรคsta'
Guiden fรถr nytt projekt รถppnas med Maven Project markerat, som visas hรคr.
Steg 2) Skriv sedan in ' i fรถnstret 'Nytt Maven-projekt'Appium Test' i kolumnerna Grupp-ID och Artefakt-ID. I det hรคr steget mรฅste du ange:
- Grupp-ID
- Artefakt-ID
- Version
- Fรถrpackning
- Namn och Description
- Finish
Det ifyllda formulรคret fรถr New Maven Project ser ut som pรฅ skรคrmdumpen nedan.
Om du klickar pรฅ knappen Slutfรถr รถppnas en ny klass under det definierade grupp-ID:t (AppiumTest) namn.
Steg 3) Till att bรถrja med Appium skriptet, hรถgerklicka pรฅ 'src/main/java' i Utforskarfรถnstret till vรคnster. Vรคlj sedan Ny >> klass. Skriv Appium kod i den valda klassen.
Kontextmenyn som anvรคnds fรถr att skapa den klassen visas nedan.
Steg 4) I samma projekt klickar du pรฅ pom.xml i den vรคnstra menyn i utforskaren. Alla beroenden kommer som standard att synas pรฅ fliken 'pom.xml'. Se bilden nedan.
Om standardfilen pom.xml inte finns, lรคgg bara till alla Maven-filer. Appium beroenden, t.ex.tracfrรฅn Mavens centrala arkivs webbplats:
https://central.sonatype.com/artifact/io.appium/java-client
Den redigerade pom.xml-filen med Appium beroenden som lagts till visas nedan.
Steg 5) Hรถgerklicka nu pรฅ 'pom.xml' i vรคnstra utforskaren, eller pรฅ XML-koden fรถr 'AppiumTest-projektet. Klicka sedan pรฅ alternativet 'Kรถr som >> Maven Clean', som visas nedan.
Medan du kรถr kan du se alla Maven-relaterade jar-filer och ett lyckat meddelande, som i konsolutdata nedan. Sรฅ hรคr kรถr du en Appium Java klient Maven-beroendetest i en Maven-konfigurerad miljรถ.
Hur man kรถr Appium Tester med Maven-kommandon
Ocuco-landskapet Eclipse Menyn รคr praktisk, men samma bygg mรฅste kรถras obevakad pรฅ en byggserver, och dรคr รคr kommandoraden det enda alternativet. รppna en terminal i mappen som innehรฅller pom.xml och anvรคnd dessa kommandon.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Var och en har ett specifikt jobb:
- mvn clean tar bort
targetkatalogen sรฅ att inget gammalt รถverlever i nรคsta version. Detta รคr kommandot som Eclipse genomgรฅng ovanstรฅende triggers. - mvn clean test kompilerar projektet och kรถr testklasserna. Maven Surefire-pluginet hรคmtar dem automatiskt frรฅn
src/test/java, med standardinkluderingsmรถnsterTest*.java,*Test.java,*Tests.javaoch*TestCase.java. - ren installation av mvn kรถr testerna och placerar sedan den paketerade artefakten i ditt lokala arkiv, sรฅ att ett annat projekt kan fรถrlita sig pรฅ den.
- mvn test -Dtest=Inloggningstest begrรคnsar kรถrningen till en enda klass medan du felsรถker.
Tvรฅ punkter fรฅngar folk. Fรถr det fรถrsta Appium Servern mรฅste redan vara igรฅng och en enhet eller emulator mรฅste vara ansluten innan bygget startar, eftersom Maven inte startar nรฅgon av dem โ verifiera enheten med en adb kontrollera fรถrst. Sedan skrivs resultaten till target/surefire-reports, vilket รคr mappen som ett CI-jobb ska arkivera. Surefire anvรคndarguide tรคcker konfigurationsalternativen i detalj, och samma kommandon driver en Appium svit frรฅn Jenkins.
Gemensam Appium Maven-fel och hur man รฅtgรคrdar dem
De flesta misslyckanden i en Appium Maven-instรคllningarna beror snarare pรฅ en handfull repeterbara orsaker รคn pรฅ sjรคlva testkoden. Tabellen nedan mappar varje symptom till dess vanliga lรถsning.
| Symptom | Trolig orsak | Fast |
| Kunde inte lรถsa beroenden fรถr io.appium:java-client | Fel versionsstrรคng, eller ingen nรคtverksรฅtkomst till Maven Central | Kopiera koordinaten direkt frรฅn Maven Central-listan och kรถr bygget igen. |
| NoSuchMethodError eller NoClassDefFoundError frรฅn en Selenium klass | java-client och selenium-java-versionerna รคr inkompatibla | Matcha Selenium version till det intervall som java-client-versionen deklarerar |
| Tester kompileras men inga kรถrs | Testklasser finns i src/main/java, eller sรฅ matchar klassnamnet inte ett Surefire-inkluderingsmรถnster | Flytta dem till src/test/java och namnge klassen sรฅ att den slutar pรฅ Test. |
| Anslutning nekad pรฅ port 4723 | Ocuco-landskapet Appium servern kรถrs inte | Starta Appium servern fรถre bygget |
| Ogiltig eller ounderstรถdd funktion | รldre funktionsnamn som anvรคnds med en modern drivrutin | Revse strรถmmen รถnskade fรถrmรฅgor fรถr din plattform |
| Huvudversionen av klassfilen stรถds inte | JDK:n som anvรคnds av Maven skiljer sig frรฅn kompilatornivรฅn i pom.xml. | Justera egenskaperna maven.compiler.source och target med din installerade JDK |
Nรคr en build misslyckas, lรคs det fรถrsta felet som Maven skriver ut snarare รคn det sista. De senare raderna รคr vanligtvis konsekvenser av den fรถrsta saknade artefakten.








