Appium Maven-riippuvuus: Asennus Eclipse Esimerkki projektista
⚡ Älykäs yhteenveto
Appium Mavenin riippuvuuksien hallinta antaa mobiiliautomaatioprojektin määrittää Java-client-artefaktin pom.xml-tiedostossa, jolloin Maven ratkaisee jokaisen jar-tiedoston automaattisesti ja sama koontiversio toimii millä tahansa koneella ilman manuaalisia latauksia.

Mikä on Apache Maven?
Apache Maven on Java-pohjainen projektinhallinta- ja automaatiotyökalu. Se tarjoaa kehittäjille moniajokehyksen, joka helpottaa koko rakennuksen elinkaarta Java sovelluksia. Maven on ennalta määritetty ja ilmoitettu XML-muodossa nimeltä POM (Project Object Model) ja jota kutsutaan nimellä "pom.xml". Sitä voidaan käyttää myös muilla kielillä, kuten C#, Scala, Ruby jne.
Maven-kehyksen avulla voit helposti hallita seuraavia tehtäviä missä tahansa projektissa:
- Rakenna sykli
- Projektin dokumentaatio
- Raportoi tarkastukset
- Scrumsin hallinta
- Julkaisutiedot
Mavenin peruskäyttötarkoituksia ovat:
- Pakottaa vakiohakemistorakenteen.
- Tarjoa uudelleen käytettävä ja helppohoitoinen projektirakenne.
- Ratkaise pakettien riippuvuudet.
- Tarjoa kokoonpanonhallintakehys.
Tuo riippuvuuksien ratkaisukyky on juuri sitä, mitä Appium projektin tarpeet, koska Java asiakas vetää sisään ketjun Selenium purkkeja, joita kukaan ei halua ladata käsin.
Lataa Appium Maven-riippuvuudet
Ennen kuin aloitat kirjoittamisen Appium riippuvuustesti Mavenilla, sinun on ladattava Appium Maven-riippuvuus — Appium JAR-lataustiedosto — osoitteesta Mavenin keskustietovaraston verkkosivustoAlla oleva kuvakaappaus näyttää Java-asiakasohjelman artefaktien listauksen Maven Centralissa, josta löytyvät kaikki julkaistut versiot ja niiden valmis koodinpätkä.
Tai lisää suoraan alla mainittu POM.xml-artefakti:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Versiohuomautus: Ishayoiden opettaman 3.4.1 Yllä oleva koordinaatti on alkuperäinen esimerkki ja näyttää edelleen lohkon oikean muodon. Se on vanhempi kuin W3C WebDriver -protokolla, joten uuden projektin pitäisi nostaa versiota. Kirjoitushetkellä Maven Centralin nykyinen versio on 10.1.1, joka vaatii Selenium 4.42.0 tai uudempi.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Ole hyvä ja käy läpi Maven opetusohjelma oppiaksesi määrittämään Mavenin Eclipse.
Appium Maven-projektin rakenne ja vaaditut riippuvuudet
Maven käyttää kiinteää asettelua, ja sen tunteminen estää suurimman osan myöhemmin tässä läpikäynnissä seuraavasta sekaannuksesta. Luotu projekti sisältää neljä tärkeää sijaintia:
- pom.xml — projektin juuressa oleva Project Object Model, jossa jokainen riippuvuus ja laajennus on määritelty.
- src / main / java — sovellus- ja apuluokat.
- src/testi/java — testiluokat ja ainoa hakemisto, jonka Surefire-laajennus skannaa, kun suoritat koontiversion.
- tavoite — kootut tuloste- ja testiraportit, jotka luodaan uudelleen jokaisella koontiversiolla.
Appium java-client on ainoa pakollinen riippuvuus, koska se määrittää Selenium API, etäajurit ja tukiartefaktit transitiivisesti. Monet tiimit pinaavat edelleen. Selenium eksplisiittisesti, jotta versio näkyy yhdessä paikassa, ja lisää testiajo suoritin:
<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>
Pidä kaksi versiota yhteensopivina. Java-asiakasversiossa todetaan, että Selenium tukemansa alueen ja vanhan asiakkaan yhdistämisen paljon uudempaan Selenium on yleisin NoSuchMethodError-virheen syy suorituksen aikana. java-asiakasohjelmiston arkisto dokumentoi parituksen jokaista julkaisua varten.
Sovelluksen testaus Appium ja Maven
Kun riippuvuus on olemassa, Eclipse alla oleva työnkulku rakentaa ajettavan projektin tyhjästä. Kun olet määrittänyt Appium Java Maven-laajennus Eclipse, työtila on valmis testaamaan mitä tahansa Android .apk sovellus kanssa Appium ja Maven, kuten kuvassa näkyy Appium Alla esimerkki Maven-projektista.
Vaihe 1) Tässä vaiheessa
- Siirry kohtaan UUSI >> valitse Maven-projekti
- Klikkaa 'Seuraava'-painiketta
Uuden projektin luontitoiminto avautuu Maven-projekti korostettuna, kuten tässä näkyy.
Vaihe 2) Kirjoita sitten 'Uusi Maven-projekti' -ikkunaan 'Appium Testi' Ryhmätunnus- ja Artefaktitunnus-sarakkeissa. Tässä vaiheessa sinun on annettava:
- Ryhmän tunnus
- Artefaktin tunnus
- Versio
- Pakkaus
- Nimi ja Descriptioni
- Suorittaa loppuun
Valmis New Maven -projektilomake näyttää alla olevalta kuvakaappaukselta.
Valmis-painikkeen napsauttaminen avaa uuden luokan määritetyn ryhmätunnuksen alle (AppiumTesti) nimi.
Vaihe 3) Aluksi Appium skripti, napsauta hiiren kakkospainikkeella 'src/main/java' vasemmanpuoleisessa Resurssienhallinta-ikkunassa. Valitse sitten Uusi >> luokka. Kirjoita Appium koodi valitun luokan sisällä.
Luokan luomiseen käytetty kontekstivalikko näkyy alla.
Vaihe 4) Napsauta samassa projektissa vasemmanpuoleisessa Resurssienhallinta-valikossa pom.xml-tiedostoa. Kaikki riippuvuudet näkyvät oletusarvoisesti 'pom.xml'-välilehdellä. Katso alla olevaa kuvaa.
Jos oletusarvoista pom.xml-tiedostoa ei ole olemassa, lisää vain kaikki Maven-tiedostot. Appium riippuvuudet, esim.tracMavenin keskusarkiston verkkosivustolta:
https://central.sonatype.com/artifact/io.appium/java-client
Muokattu pom.xml-tiedosto, jossa on Appium Lisätyt riippuvuudet näkyvät alla.
Vaihe 5) Napsauta nyt hiiren kakkospainikkeella tiedostoa 'pom.xml' vasemmassa Resurssienhallinnassa tai XML-koodia tiedostolle 'AppiumTesti-projekti. Napsauta sitten vaihtoehtoa 'Suorita nimellä >> Maven Clean', kuten alla on esitetty.
Suorituksen aikana näet kaikki Maveniin liittyvät jar-tiedostot ja onnistumisviestin, kuten alla olevassa konsolin tulosteessa. Näin suoritat Appium Java asiakkaan Maven-riippuvuustesti Maven-konfiguroidussa ympäristössä.
Kuinka ajaa Appium Testit Maven-komennoilla
Eclipse valikko on kätevä, mutta saman koontiversion on suoritettava valvomatta koontipalvelimella, ja siellä komentorivi on ainoa vaihtoehto. Avaa pääteohjelma pom.xml-tiedostoa sisältävässä kansiossa ja käytä näitä komentoja.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Jokaisella on oma selkeä tehtävänsä:
- mvn-puhdistus poistaa
targethakemistoon, jotta mikään vanhentunut ei säily seuraavassa koonnissa. Tämä on komento, jonka Eclipse yllä olevien liipaisimien läpikäynti. - mvn puhdas testi kääntää projektin ja suorittaa testiluokat. Maven Surefire -lisäosa poimii ne automaattisesti
src/test/java, käyttäen oletusarvoisia sisällytysmallejaTest*.java,*Test.java,*Tests.javaja*TestCase.java. - mvn puhdas asennus suorittaa testit ja sijoittaa sitten pakatun artefaktin paikalliseen arkistoosi, jotta toinen projekti voi olla siitä riippuvainen.
- mvn test -Dtest=Kirjautumistesti rajaa suorituksen yhteen luokkaan debugauksen aikana.
Kaksi asiaa pistää ihmiset epäilyksen valtaan. Ensinnäkin Appium palvelimen on oltava jo käynnissä ja laitteen tai emulaattorin on oltava kytkettynä ennen koonnin aloittamista, koska Maven ei käynnistä kumpaakaan — tarkista laite ADB tarkista ensin. Toiseksi, tulokset kirjoitetaan target/surefire-reports, joka on kansio, johon CI-työn tulisi arkistoida. Surefiren käyttöopas kattaa määritysvaihtoehdot yksityiskohtaisesti, ja samat komennot ohjaavat Appium sviitti alkaen Jenkins.
Yhteinen Appium Maven-virheet ja niiden korjaaminen
Useimmat epäonnistumiset Appium Mavenin asennuksen ongelmat johtuvat useista toistuvista syistä pikemminkin kuin itse testikoodista. Alla oleva taulukko yhdistää jokaisen oireen sen tavanomaiseen ratkaisuun.
| Oire | Todennäköinen syy | Korjata |
| Io.appium:java-client-kohteen riippuvuuksia ei voitu ratkaista. | Väärä versiomerkkijono tai ei verkkoyhteyttä Maven Centraliin | Kopioi koordinaatit suoraan Maven Centralin listauksesta ja suorita koonti uudelleen |
| NoSuchMethodError tai NoClassDefFoundError kohteelta Selenium luokka | java-client- ja selenium-java-versiot eivät ole yhteensopivia | Sovittaa Selenium versio java-client-julkaisun määrittämään alueeseen |
| Testit kääntyvät, mutta yksikään ei suorita | Testiluokat sijaitsevat src/main/java-hakemistossa, tai luokan nimi ei vastaa Surefire-sisällytysmallia | Siirrä ne hakemistoon src/test/java ja nimeä luokka niin, että se päättyy Test-muotoon. |
| Yhteys estetty portissa 4723 | Appium palvelin ei ole käynnissä | Aloita Appium palvelin ennen koontia |
| Virheellinen tai ei-tuettu ominaisuus | Nykyaikaisen ajurin kanssa käytetyt vanhat ominaisuusnimet | Revkatso nykyistä halutut ominaisuudet alustallesi |
| Ei-tuettu luokkatiedoston pääversio | Mavenin käyttämä JDK eroaa pom.xml-tiedoston kääntäjätasosta | Kohdista maven.compiler.source- ja target-ominaisuudet asennettujen tiedostojesi mukaisiksi. JDK |
Kun koonti epäonnistuu, lue Mavenin tulostama ensimmäinen virhe viimeisen sijaan. Myöhemmät rivit ovat yleensä seurausta ensimmäisestä puuttuvasta artefaktista.








