Appium Maven ovisnost: Postavljanje s Eclipse Primjer projekta
⚡ Pametni sažetak
Appium Upravljanje ovisnostima u Mavenu omogućuje projektu mobilne automatizacije deklariranje artefakta java-klijenta u pom.xml datoteci, tako da Maven automatski rješava svaki JAR i ista se izrada pokreće na bilo kojem računalu bez ručnog preuzimanja.

Što je Apache Maven?
Apache Maven je Javaalat za upravljanje projektima i automatizaciju. Programerima pruža višezadaćni okvir za olakšavanje kompletnog životnog ciklusa izrade Java aplikacije. Maven je unaprijed definiran i deklariran u XML formatu koji se zove POM (Project Object Model) i naziva se "pom.xml". Također se može koristiti za druge jezike kao što su C#, Scala, Ruby itd.
Pomoću Maven frameworka možete jednostavno upravljati sljedećim zadacima u bilo kojem projektu:
- Ciklus izgradnje
- Projektna dokumentacija
- Prijavite provjere
- Scrums upravljanje
- Informacije o izdanju
Osnovne upotrebe Mavena su:
- Provodi standardnu strukturu imenika.
- Osigurajte višekratnu strukturu projekta koja se lako održava.
- Riješite ovisnosti paketa.
- Osigurajte okvir za upravljanje konfiguracijom.
Ta sposobnost rješavanja ovisnosti je upravo ono što Appium potrebe projekta, jer Java klijent povlači lanac Selenium jar datoteke koje nitko ne želi ručno preuzeti.
Preuzimanje Appium Ovisnosti o Mavenu
Prije nego što počnete pisati Appium test ovisnosti s Mavenom, potrebno je preuzeti Appium Ovisnost od Mavena — Appium JAR datoteka za preuzimanje — iz Web stranica centralnog repozitorija MavenaSnimka zaslona u nastavku prikazuje popis artefakata java-klijenata na Maven Centralu, gdje su dostupne svaka objavljena verzija i njezin gotov isječak.
Ili izravno dodajte artefakt POM.xml spomenut u nastavku:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Napomena o verziji: o 3.4.1 Gornja koordinata je originalni primjer i još uvijek prikazuje ispravan oblik bloka. Stariji je od W3C WebDriver protokola, tako da bi novi projekt trebao podići verziju. U vrijeme pisanja ovog teksta, trenutno izdanje na Maven Centralu je 10.1.1, što zahtijeva Selenium 4.42.0 ili noviji.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Molimo prođite kroz naš Maven vodič kako biste naučili kako konfigurirati Maven s Eclipse.
Appium Struktura Maven projekta i potrebne ovisnosti
Maven nameće fiksni raspored, a poznavanje tog rasporeda sprječava većinu zbrke koja slijedi kasnije u ovom vodiču. Generirani projekt sadrži četiri važne lokacije:
- pom.xml — Objektni Model Projekta u korijenu projekta, gdje je deklarirana svaka ovisnost i dodatak.
- src / main / java — aplikacije i pomoćne klase.
- src/test/java — testne klase i jedini direktorij koji Surefire dodatak skenira kada pokrenete izgradnju.
- meta — sastavljen izlaz i izvješća o testiranju, regenerirana pri svakoj izgradnji.
The Appium java-client je jedina obavezna ovisnost jer deklarira Selenium API, udaljeni upravljački program i tranzitivno podržavaju artefakte. Mnogi timovi još uvijek pričvršćuju Selenium eksplicitno tako da je verzija vidljiva na jednom mjestu i dodajte pokretač testa:
<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>
Održavajte kompatibilnost dvije verzije. Izdanje Java klijenta navodi da Selenium raspon koji podržava i miješanje starog klijenta s mnogo novijim Selenium je najčešći uzrok NoSuchMethodError tijekom izvođenja. repozitorij java-klijenata dokumentira uparivanje za svako izdanje.
Testiranje aplikacije s Appium i Maven
S obzirom na postojeću ovisnost, Eclipse Donji tijek rada izrađuje pokrenuti projekt od nule. Nakon konfiguriranja Appium Java Maven dodatak Eclipse, radni prostor je spreman za testiranje bilo kojeg Android .apk aplikacija s Appium i Maven, kao što je prikazano u Appium Primjer Maven projekta ispod.
Korak 1) U ovom koraku
- Idite na NOVO >> odaberite Maven projekt
- Kliknite na gumb 'sljedeće'
Čarobnjak za novi projekt otvara se s označenim Maven projektom, kao što je ovdje prikazano.
Korak 2) Zatim u prozor 'Novi Maven projekt' unesite 'Appium Test' u stupcima ID grupe i ID artefakta. U ovom koraku morate unijeti:
- ID grupe
- Id artefakta
- Verzija
- Ambalaža
- Ime i Description
- završiti
Ispunjeni obrazac za novi Maven projekt izgleda kao na snimci zaslona ispod.
Klikom na gumb Završi otvorit će se novi razred pod definiranim ID-om grupe (AppiumTest) ime.
Korak 3) Za početak s Appium skriptu, desnom tipkom miša kliknite na 'src/main/java' u lijevom prozoru istraživača. Zatim odaberite Nova >> klasa. Napišite Appium kod unutar odabrane klase.
Kontekstni izbornik koji se koristi za stvaranje te klase prikazan je u nastavku.
Korak 4) U istom projektu kliknite na pom.xml u lijevom izborniku istraživača. Sve ovisnosti bit će vidljive prema zadanim postavkama na kartici 'pom.xml'. Pogledajte sliku ispod.
Ako zadana datoteka pom.xml ne postoji, samo dodajte sve Maven datoteke Appium ovisnosti, npr.tracpreuzeto s web stranice centralnog repozitorija Mavena:
https://central.sonatype.com/artifact/io.appium/java-client
Uređena datoteka pom.xml s Appium Dodane ovisnosti prikazane su u nastavku.
Korak 5) Sada desnom tipkom miša kliknite na 'pom.xml' u lijevom istraživaču ili na XML kod za 'AppiumTest' projekt. Zatim kliknite opciju 'Pokreni kao >> Maven Clean', kao što je prikazano dolje.
Tijekom pokretanja možete vidjeti sve jar datoteke povezane s Mavenom i poruku o uspjehu, kao u izlazu konzole ispod. Ovako se pokreće Appium Java Test ovisnosti klijenta Maven u okruženju konfiguriranom za Maven.
Kako trčati Appium Testovi s Maven naredbama
The Eclipse Izbornik je praktičan, ali ista izgradnja mora se izvršavati bez nadzora na poslužitelju za izradu, a tamo je naredbeni redak jedina opcija. Otvorite terminal u mapi koja sadrži pom.xml i upotrijebite ove naredbe.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Svaki od njih ima zaseban zadatak:
- mvn clean briše
targetdirektorij tako da ništa zastarjelo ne preživi u sljedećoj izgradnji. Ovo je naredba Eclipse vodič iznad okidača. - mvn čisti test kompajlira projekt i izvršava testne klase. Maven Surefire dodatak ih automatski preuzima iz
src/test/java, koristeći zadane obrasce uključivanjaTest*.java,*Test.java,*Tests.javai*TestCase.java. - mvn čista instalacija pokreće testove, a zatim smješta zapakirani artefakt u vaše lokalno spremište, tako da se drugi projekt može osloniti na njega.
- mvn test -Dtest=TestPrijave sužava izvršavanje na jednu klasu tijekom otklanjanja grešaka.
Dvije stvari privlače ljude. Prvo, Appium Poslužitelj već mora biti pokrenut, a uređaj ili emulator moraju biti spojeni prije početka izgradnje, jer Maven ne pokreće nijedan od njih — provjerite uređaj s ADB prvo provjerite. Drugo, rezultati se zapisuju u target/surefire-reports, što je mapa koju CI zadatak treba arhivirati. Vodič za korištenje Surefirea detaljno pokriva opcije konfiguracije, a iste naredbe pokreću Appium apartman iz Jenkins.
Zajednički Appium Maven greške i kako ih ispraviti
Većina neuspjeha u Appium Maven postavke dolaze iz nekoliko ponovljivih uzroka, a ne iz samog testnog koda. Tablica u nastavku prikazuje svaki simptom u odnosu na njegovo uobičajeno rješenje.
| Simptom | Vjerojatni uzrok | Popraviti |
| Nije moguće riješiti ovisnosti za io.appium:java-client | Pogrešan niz verzija ili nema mrežnog pristupa Maven Centralu | Kopirajte koordinate direktno iz Maven Central popisa i ponovno pokrenite izgradnju |
| NoSuchMethodError ili NoClassDefFoundError iz Selenium razred | Verzije java-client i selenium-java nisu kompatibilne | Odgovarati Selenium verzija u rasponu koji izdanje Java-klijenta deklarira |
| Testovi se kompajliraju, ali se ne izvršavaju | Testne klase nalaze se u src/main/java ili naziv klase ne odgovara Surefire uzorku uključivanja | Premjestite ih u src/test/java i nazovite klasu tako da završava na Test |
| Veza odbijena na portu 4723 | The Appium poslužitelj ne radi | Pokrenite Appium poslužitelj prije izgradnje |
| Nevažeća ili nepodržana mogućnost | Nazivi starih mogućnosti koji se koriste s modernim upravljačkim programom | Revpogledajte trenutno željene mogućnosti za vašu platformu |
| Nepodržana glavna verzija datoteke klase | JDK koji koristi Maven razlikuje se od razine kompajlera u pom.xml | Uskladite svojstva maven.compiler.source i target s vašim instaliranim JDK |
Kada izgradnja ne uspije, pročitajte prvu grešku koju Maven ispisuje, a ne posljednju. Kasniji redovi su obično posljedice prvog nedostajućeg artefakta.








