Appium Maven Bağımlılığı: Kurulumu şu şekilde yapılır: Eclipse Proje Örneği
⚡ Akıllı Özet
Appium Maven bağımlılık yönetimi, bir mobil otomasyon projesinin pom.xml dosyasında java-client yapısını tanımlamasına olanak tanır; böylece Maven her jar dosyasını otomatik olarak çözümler ve aynı derleme, manuel indirmelere gerek kalmadan herhangi bir makinede çalışır.
Nedir? Apache Maven?
Apache Maven bir Javatabanlı proje yönetimi ve otomasyon aracı. Geliştiricilerin tüm yapı yaşam döngüsünü kolaylaştırması için çoklu görev çerçevesi sağlar. Java uygulamalar. Maven, POM (Proje Nesne Modeli) adı verilen ve 'pom.xml' olarak anılan bir XML biçiminde önceden tanımlanmış ve bildirilmiştir. Ayrıca C#, Scala, Ruby vb. gibi diğer diller için de kullanılabilir.
Maven çerçevesini kullanarak, herhangi bir projede aşağıdaki görevleri kolayca yönetebilirsiniz:
- Yapı döngüsü
- Proje belgeleri
- Rapor Kontrolleri
- Scrum yönetimi
- Bilgi vermek
Maven'ın temel kullanım alanları şunlardır:
- Standart bir dizin yapısını zorlar.
- Yeniden kullanılabilir ve bakımı kolay bir proje yapısı sağlayın.
- Paket bağımlılıklarını çözün.
- Bir yapılandırma yönetimi çerçevesi sağlayın.
Bu bağımlılık çözme yeteneği tam olarak bir Appium proje ihtiyaçları, çünkü Java istemci bir dizi işlemi içeri çekiyor Selenium Kimsenin elle indirmek istemediği dosyalar.
İndir Appium Maven Bağımlılıkları
Yazmaya başlamadan önce Appium Maven ile bağımlılık testi yapmak için, aşağıdaki dosyayı indirmeniz gerekiyor. Appium Maven bağımlılığı — Appium JAR dosyasını indirin — şuradan Maven merkezi deposu web sitesiAşağıdaki ekran görüntüsü, Maven Central'da java-client yapıtının listesini göstermektedir; burada yayınlanmış her sürüm ve hazır kod parçacığı mevcuttur.
Veya aşağıda belirtilen POM.xml dosyasını doğrudan ekleyebilirsiniz:
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>3.4.1</version> </dependency>
⚠️ Sürüm notu: the 3.4.1 Yukarıdaki koordinat orijinal örnektir ve bloğun doğru şeklini hala göstermektedir. W3C WebDriver protokolünden önceye dayanmaktadır, bu nedenle yeni bir proje sürüm numarasını yükseltmelidir. Bu yazının yazıldığı sırada, Maven Central'daki mevcut sürüm şudur: 10.1.1, hangi gereksinimler Selenium 4.42.0 veya üstü.
<dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>10.1.1</version> </dependency>
Lütfen bizim üzerinden geçin Maven öğreticisi Maven'i nasıl yapılandıracağınızı öğrenmek için Eclipse.
Appium Maven Proje Yapısı ve Gerekli Bağımlılıklar
Maven sabit bir düzen dayatıyor ve bunu bilmek, bu kılavuzun ilerleyen bölümlerinde yaşanacak karışıklıkların çoğunu önlüyor. Oluşturulan bir proje dört önemli konum içerir:
- pom.xml — Proje kök dizininde yer alan ve her bağımlılığın ve eklentinin tanımlandığı Proje Nesne Modeli.
- src / main / java — uygulama ve yardımcı sınıflar.
- src/test/java — test sınıfları ve Surefire eklentisinin bir derleme çalıştırdığınızda taradığı tek dizin.
- hedef — Derlenmiş çıktı ve test raporları, her derlemede yeniden oluşturulur.
MKS Appium java-client, tek zorunlu bağımlılıktır çünkü bunu belirtir. Selenium API, uzaktan sürücü ve destek bileşenleri birbirine geçişli olarak çalışır. Birçok ekip hala bu konuda ısrarcı. Selenium Sürümün tek bir yerde görünür olması için açıkça belirtin ve bir test çalıştırıcısı ekleyin:
<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>
İki sürümün uyumlu kalmasını sağlayın. Bir Java istemci sürümü şunu belirtir: Selenium desteklediği aralık ve eski bir istemciyi çok daha yeni bir istemciyle karıştırmak Selenium Çalışma zamanında NoSuchMethodError hatasının en yaygın nedeni budur. java-istemci deposu Her sürüm için eşleştirmeyi belgeliyor.
Uygulamanın Test Edilmesi Appium ve Maven
Bağımlılık ilişkisi kurulduktan sonra, Eclipse Aşağıdaki iş akışı, sıfırdan çalıştırılabilir bir proje oluşturur. Yapılandırma tamamlandıktan sonra... Appium Java Maven eklentisi içinde EclipseÇalışma alanı her türlü test için hazır. Android .apk uygulama Appium ve Maven, aşağıdaki şekilde gösterildiği gibi Appium Maven proje örneği aşağıdadır.
) 1 Adım Bu adımda,
- YENİ'ye gidin >> Maven projesini seçin
- 'İleri' düğmesine tıklayın.
Yeni proje sihirbazı, burada gösterildiği gibi Maven Projesi vurgulanmış olarak açılır.
) 2 Adım Ardından 'Yeni Maven Projesi' penceresinde şunu girin: 'Appium Grup Kimliği ve Yapıt Kimliği sütunlarına 'Test' yazın. Bu adımda şunları girmeniz gerekiyor:
- Grup kimliği
- Yapı Kimliği
- Sürümü
- Paketleme
- Isim ve Descriptiyon
- Bitiş
Tamamlanmış Yeni Maven Projesi formu aşağıdaki ekran görüntüsündeki gibi görünmektedir.
"Bitir" düğmesine tıklamak, tanımlanan Grup Kimliği altında yeni bir sınıf açacaktır (AppiumTest) adı.
) 3 Adım Başlangıç olarak Appium Komut dosyasını oluşturmak için, sol taraftaki dosya gezgini penceresinde 'src/main/java' üzerine sağ tıklayın. Ardından Yeni >> sınıf'ı seçin. İçine aşağıdaki kodu yazın. Appium seçilen sınıfın içindeki kod.
Bu sınıfı oluşturmak için kullanılan bağlam menüsü aşağıda gösterilmiştir.
) 4 Adım Aynı projede, sol taraftaki dosya gezgini menüsünden pom.xml'e tıklayın. Tüm bağımlılıklar varsayılan olarak 'pom.xml' sekmesinde görünür olacaktır. Aşağıdaki resme bakın.
Varsayılan pom.xml dosyası yoksa, tüm Maven kodlarını eklemeniz yeterlidir. Appium bağımlılıklar, örneğintracMaven merkezi deposu web sitesinden alınan bilgi:
https://central.sonatype.com/artifact/io.appium/java-client
Düzenlenmiş pom.xml dosyası şu şekildedir: Appium Eklenen bağımlılıklar aşağıda gösterilmiştir.
) 5 Adım Şimdi, sol taraftaki dosya gezgininde 'pom.xml' dosyasına veya ' için XML koduna sağ tıklayın.Appium'Test' projesini başlatın. Ardından, aşağıda gösterildiği gibi 'Çalıştır >> Maven Clean' seçeneğine tıklayın.
Çalıştırırken, aşağıdaki konsol çıktısında olduğu gibi, Maven ile ilgili tüm jar dosyalarını ve bir başarı mesajını görebilirsiniz. İşte bir Maven çalıştırma yöntemi. Appium Java Maven ile yapılandırılmış bir ortamda istemci Maven bağımlılık testi.
Nasıl Çalıştırılır Appium Maven Komutlarıyla Testler
MKS Eclipse Menü kullanışlıdır, ancak aynı derleme işleminin bir derleme sunucusunda otomatik olarak çalıştırılması gerekir ve burada komut satırı tek seçenektir. pom.xml dosyasının bulunduğu klasörde bir terminal açın ve şu komutları kullanın.
mvn clean mvn clean test mvn clean install mvn test -Dtest=LoginTest
Her birinin kendine özgü bir görevi var:
- mvn temiz siler
targetBu sayede hiçbir eski dosya bir sonraki derlemeye kalmaz. Bu, kullanılan komuttur. Eclipse Yukarıdaki tetikleyicilere adım adım göz atın. - mvn temiz testi Projeyi derler ve test sınıflarını çalıştırır. Maven Surefire eklentisi bunları otomatik olarak alır.
src/test/javavarsayılan dahil etme kalıplarını kullanarakTest*.java,*Test.java,*Tests.javahem de*TestCase.java. - mvn temiz kurulum Testleri çalıştırır ve ardından paketlenmiş yapıyı yerel deponuza yerleştirir, böylece başka bir proje ona bağımlı olabilir.
- mvn test -Dtest=LoginTest Hata ayıklama sırasında çalıştırmayı tek bir sınıfa daraltır.
İki nokta insanları yanıltıyor. Birincisi, Appium Derleme başlamadan önce sunucunun zaten çalışıyor olması ve bir cihazın veya emülatörün bağlı olması gerekir, çünkü Maven ne sunucuyu ne de cihazı kendisi başlatmaz — cihazı bir komutla doğrulayın. adb Önce kontrol edin. İkinci olarak, sonuçlar yazılır. target/surefire-reportsBu, bir CI işinin arşivlemesi gereken klasördür. Surefire kullanım kılavuzu Yapılandırma seçeneklerini ayrıntılı olarak ele alır ve aynı komutlar bir işlemi gerçekleştirir. Appium süit Jenkins.
ortak Appium Maven Hataları ve Nasıl Düzeltilir
Bir dizi başarısızlıkta Appium Maven kurulumuyla ilgili sorunlar, test kodunun kendisinden ziyade, tekrarlanabilir birkaç nedenden kaynaklanır. Aşağıdaki tablo, her bir belirtiyi olağan çözümüyle eşleştirir.
| Semptom | Muhtemel sebep | sabit |
| io.appium:java-client için bağımlılıklar çözümlenemedi. | Yanlış sürüm dizesi veya Maven Central'a ağ erişimi yok. | Koordinatı doğrudan Maven Central listesinden kopyalayın ve derlemeyi yeniden çalıştırın. |
| NoSuchMethodError veya NoClassDefFoundError hatasından Selenium sınıf | java-client ve selenium-java sürümleri uyumsuz. | Eşleştir Selenium Java istemci sürümünün belirttiği aralığa ait sürüm |
| Testler derleniyor ancak hiçbiri çalışmıyor. | Test sınıfları src/main/java dizininde yer alıyor veya sınıf adı Surefire include kalıbıyla eşleşmiyor. | Bu dosyaları src/test/java klasörüne taşıyın ve sınıf adının sonu "Test" ile bitecek şekilde ayarlayın. |
| 4723 numaralı porta bağlantı reddedildi. | MKS Appium Sunucu çalışmıyor. | Başlat Appium derlemeden önce sunucu |
| Geçersiz veya desteklenmeyen özellik | Modern sürücüyle kullanılan eski yetenek adları | Revmevcut durumu görüntüle istenen yetenekler platformunuz için |
| Desteklenmeyen sınıf dosyası ana sürümü | Maven tarafından kullanılan JDK, pom.xml dosyasındaki derleyici seviyesinden farklıdır. | Maven.compiler.source ve target özelliklerini kurulu olan sürümlerle eşleştirin. JDK |
Derleme başarısız olduğunda, Maven'ın yazdırdığı son hatayı değil, ilk hatayı okuyun. Sonraki satırlar genellikle ilk eksik dosyanın sonuçlarıdır.








