Appium Maven függőség: Beállítás a következővel: Eclipse Projekt példa
⚡ Okos összefoglaló
Appium A Maven függőségkezelés lehetővé teszi egy mobil automatizálási projekt számára, hogy a java-client artefaktust a pom.xml fájlban deklarálja, így a Maven automatikusan feloldja az összes jar fájlt, és ugyanaz a build bármilyen gépen fut manuális letöltés nélkül.
Mi a Apache Maven?
Apache Maven egy olyan Java-alapú projektmenedzsment és automatizálási eszköz. Többfeladatos keretrendszert biztosít a fejlesztők számára, hogy megkönnyítse a teljes összeállítási életciklust Java alkalmazások. A Maven egy POM (Project Object Model) nevű XML formátumban előre definiált és deklarált, és „pom.xml” néven szerepel. Más nyelvekhez is használható, például C#, Scala, Ruby stb.
A Maven keretrendszer használatával könnyedén kezelheti a következő feladatokat bármely projektben:
- Építési ciklus
- Projektdokumentáció
- Jelentés ellenőrzések
- Scrum menedzsment
- Kiadási információk
A Maven alapvető felhasználási módjai a következők:
- Szabványos címtárszerkezetet kényszerít ki.
- Biztosítson újrafelhasználható és könnyen karbantartható projektstruktúrát.
- Csomagfüggőségek feloldása.
- Konfigurációkezelési keretrendszer biztosítása.
Ez a függőségfeloldási képesség pontosan az, ami egy Appium projekt igényei, mivel a Java az ügyfél egy láncot húz be Selenium olyan jar fájlok, amiket senki sem akar kézzel letölteni.
Letöltés Appium Maven-függőségek
Mielőtt elkezdenél írni egy Appium függőségi teszt Mavennel, le kell töltened a Appium Maven függőség — a Appium JAR letölthető fájl — innen: Maven központi adattár weboldalaAz alábbi képernyőkép a Java-kliens artefaktum listáját mutatja a Maven Centralon, ahol minden közzétett verzió és azok kész kódrészlete elérhető.
Vagy közvetlenül hozzáadhatja az alább említett POM.xml műterméket:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Verzió megjegyzés: a 3.4.1 A fenti koordináta az eredeti példa, és továbbra is a blokk helyes alakját mutatja. Ez megelőzi a W3C WebDriver protokollt, így egy új projektnek kellene frissítenie a verziót. Az írás pillanatában a Maven Centralon jelenleg a következő kiadás található: 10.1.1, amely megköveteli Selenium 4.42.0 vagy újabb.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Kérjük, nézze át a mi oldalunkat Maven bemutató hogy megtanulja, hogyan kell konfigurálni a Maven-t Eclipse.
Appium Maven projekt felépítése és szükséges függőségei
A Maven fix elrendezést ír elő, és ennek ismerete megakadályozza a későbbiekben felmerülő zavarok nagy részét. Egy generált projekt négy fontos helyet tartalmaz:
- pom.xml — a projekt objektummodellje a projekt gyökerében, ahol minden függőség és bővítmény deklarálva van.
- src / main / java — alkalmazás- és segédosztályok.
- src/test/java — tesztosztályok, és az egyetlen könyvtár, amelyet a Surefire bővítmény beolvas egy build futtatásakor.
- cél — lefordított kimeneti és tesztjelentések, minden buildkor újragenerálva.
Az Appium A java-client az egyetlen kötelező függőség, mivel ez deklarálja a Selenium API, távoli illesztőprogram és támogatási elemek tranzitíven. Sok csapat még mindig pinel. Selenium explicit módon, hogy a verzió egy helyen látható legyen, és adj hozzá egy tesztfuttatót:
<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>
Tartsa a két verziót kompatibilisen. A Java-kliens kiadása kimondja, hogy a Selenium általa támogatott tartomány, és egy régi kliens keverése egy sokkal újabbal Selenium a NoSuchMethodError leggyakoribb oka futási időben. Java-kliens adattár dokumentálja a párosítást minden kiadáshoz.
Alkalmazás tesztelése a következővel: Appium és Maven
A függőség fennállásával a Eclipse az alábbi munkafolyamat egy futtatható projektet épít a nulláról. A konfigurálás után Appium Java Maven bővítmény Eclipse, a munkaterület készen áll bármilyen tesztelésre Android .apk alkalmazás a Appium és Maven, ahogy az a Appium Példa a Maven projektre alább.
Step 1) Ebben a lépésben a
- Lépjen az ÚJ oldalra >> válassza a Maven projektet
- Kattintson a „következő” gombra
Megnyílik az új projekt varázsló, kiemelve a Maven Projectet, ahogy az itt látható.
Step 2) Ezután az „Új Maven projekt” ablakban írja be: „Appium „Teszt” a „Csoportazonosító” és a „Tételazonosító” oszlopokban. Ebben a lépésben a következőket kell megadnia:
- Csoportazonosító
- Artefact Id
- Változat
- Csomagolás
- Név és Description
- befejez
A kitöltött New Maven Project űrlap az alábbi képernyőképen látható módon néz ki.
A Befejezés gombra kattintva egy új osztály nyílik meg a megadott csoportazonosító alatt (Appiumteszt) név.
Step 3) Kezdjük azzal, hogy a Appium szkriptet, kattintson jobb gombbal a bal oldali böngészőablakban található 'src/main/java' elemre. Ezután válassza az Új >> osztály lehetőséget. Írja be a következőt: Appium kódot a kiválasztott osztályon belül.
Az osztály létrehozásához használt helyi menü alább látható.
Step 4) Ugyanebben a projektben kattintson a pom.xml fájlra a bal oldali böngésző menüben. Az összes függőség alapértelmezés szerint látható lesz a „pom.xml” lapon. Lásd az alábbi képet.
Ha az alapértelmezett pom.xml nem létezik, akkor egyszerűen adja hozzá az összes Maven-t Appium függőségek, pl.traca Maven központi adattár weboldaláról letöltöttem:
https://central.sonatype.com/artifact/io.appium/java-client
A szerkesztett pom.xml fájl a következővel: Appium A hozzáadott függőségek az alábbiakban láthatók.
Step 5) Most kattintson jobb gombbal a 'pom.xml' fájlra a bal oldali böngészőben, vagy a ' XML kódjáraAppium„Teszt” projekt. Ezután kattintson a „Futtatás másként >> Maven Clean” opcióra, ahogy az alább látható.
Futás közben láthatod az összes Mavenhez kapcsolódó jar fájlt és egy sikerüzenetet, ahogy az alább látható konzolkimenetben is látható. Így futtathatsz egy Appium Java kliens Maven függőségi teszt Maven-konfigurációjú környezetben.
Hogyan kell futni Appium Maven parancsokkal végzett tesztek
Az Eclipse A menü kényelmes, de ugyanazon buildnek felügyelet nélkül kell futnia egy build szerveren, és ott a parancssor az egyetlen lehetőség. Nyiss meg egy terminált a pom.xml fájlt tartalmazó mappában, és használd ezeket a parancsokat.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Mindegyiknek megvan a maga külön feladata:
- mvn tiszta törli a
targetkönyvtárat, így semmi elavult nem marad meg a következő buildben. Ez a parancs, amelyet a Eclipse a fenti triggerek áttekintése. - mvn tiszta teszt lefordítja a projektet és végrehajtja a tesztosztályokat. A Maven Surefire bővítmény automatikusan kiválasztja őket a következőből:
src/test/java, az alapértelmezett include minták használatávalTest*.java,*Test.java,*Tests.javaés a*TestCase.java. - mvn tiszta telepítés lefuttatja a teszteket, majd elhelyezi a becsomagolt műterméket a helyi tárolóba, hogy egy másik projekt is támaszkodhasson rá.
- mvn test -Dtest=Bejelentkezési teszt egyetlen osztályra szűkíti a futtatást a hibakeresés során.
Két dolog ragadja meg az embereket. Először is, a Appium a szervernek már futnia kell, és egy eszközt vagy emulátort csatlakoztatni kell a build megkezdése előtt, mivel a Maven egyiket sem indítja el – ellenőrizze az eszközt egy aDB először ellenőrizze. Másodszor, az eredményeket a rendszer a következőre írja ki: target/surefire-reports, amely az a mappa, amelyet egy CI-feladatnak archiválnia kell. Surefire használati útmutató részletesen ismerteti a konfigurációs lehetőségeket, és ugyanazok a parancsok vezérlik a Appium lakosztály innen Jenkins.
Közös Appium Maven hibák és azok javítása
A legtöbb kudarc egy Appium A Maven beállításainak problémái inkább néhány ismétlődő okból erednek, mint magából a tesztkódból. Az alábbi táblázat minden tünetet a szokásos megoldáshoz rendel.
| Tünet | Valószínű oka | Rögzít |
| Nem sikerült feloldani az io.appium:java-client függőségeit. | Hibás verziószám, vagy nincs hálózati hozzáférés a Maven Centralhoz | Másold ki a koordinátákat közvetlenül a Maven Central listából, és futtasd újra a buildet |
| NoSuchMethodError vagy NoClassDefFoundError egy Selenium osztály | A Java-client és a Selenium-Java verziók nem kompatibilisek. | Párosítsd a Selenium verzió a Java-client kiadásában deklarált tartományhoz |
| A tesztek lefordulnak, de egyik sem fut le | A tesztosztályok a src/main/java könyvtárban találhatók, vagy az osztály neve nem egyezik a Surefire include mintájával. | Helyezd át őket a src/test/java mappába, és nevezd el az osztályt úgy, hogy a vége Test legyen. |
| Kapcsolat elutasítva a 4723-es porton | Az Appium a szerver nem fut | Indítsa el a Appium szerver a build előtt |
| Érvénytelen vagy nem támogatott képesség | A modern illesztőprogrammal használt hagyományos képességnevek | Revnézd a jelenlegit kívánt képességek a platformodhoz |
| Nem támogatott osztályfájl főverziója | A Maven által használt JDK eltér a pom.xml-ben található fordítói szinttől. | Igazítsa a maven.compiler.source és target tulajdonságokat a telepített fájlhoz JDK |
Amikor egy build meghiúsul, a Maven által kiírt első hibát olvassa be az utolsó helyett. A későbbi sorok általában az első hiányzó műtermék következményei.








