appium tutorial testing android
Appium'da İlk Programa Sahip Windows'ta Appium Nasıl Kurulur ve Kurulur:
Appium açık kaynaktır test otomasyon aracı için kullanılır mobil uygulamaları test etmek . Kullanıcıların, standart WebDriver kitaplığını kullanarak çeşitli mobil uygulama türlerini (Yerel, Karma ve Mobil Web gibi) test etmelerine olanak tanır.
Üç tür Mobil Uygulama vardır:
- Yerli: İOS, Android veya Windows SDK'ları kullanılarak oluşturulan yerel uygulamalar. Platforma özeldirler. Bir platform ve / veya cihaz üzerinde çalışmak üzere oluşturulmuşlardır.
- Hibrit: Karma uygulamalar, HTML, CSS ve iOS için UIWebView ve Android Uygulamaları için 'web görünümü' üzerinde yerel bir uygulamanın sarmalayıcısı kullanılarak geliştirilen web uygulamalarıdır.
- Mobil web uygulamaları: Mobil web uygulamaları, mobil tarayıcılar kullanılarak erişilen uygulamalardır.
Bu Appium Serisindeki Öğreticilerin Listesi
Öğretici 1: Yeni Başlayanlar İçin Uygulama Eğitimi (Bu Eğitim)
Öğretici # 2: Appium'a Giriş: Appium Nedir ve Mimarisi
Öğretici 3: Windows için Appium'u İndirin, Yükleyin ve Kurun
Eğitim 4: Mobil Cihazı Appium'da Sistemle Yapılandırma
Öğretici 5: Appium Kullanarak Android Cihazda Yerel Uygulamayı Otomatikleştirin
Öğretici # 6: Android Cihazda Chrome Tarayıcıda Web Uygulaması Nasıl Otomatikleştirilir
Ne öğreneceksin:
- Appium, Mobil Uygulamaları Otomatikleştirmek İçin Neden Popüler Bir Araç?
- Appium Aracını Windows'ta Kurma
- Eclipse IDE ile Appium'u Kurun
- Daha önceki dönemlerin sınırlamaları
- Appium ile Çalışırken Karşılaşılan Zorluklar
- Sonuç
Appium, Mobil Uygulamaları Otomatikleştirmek İçin Neden Popüler Bir Araç?
Appium bir 'çapraz platform aracıdır' yani aynı API'leri kullanarak birden fazla platformda (iOS, Android, Windows) testler yazmanıza izin verir. Kullanma appium , tabletler, cep telefonları vb. gibi gerçek cihazlarda da otomatik testler yaparsınız.
En çok yaygın olarak kullanılan araç Mobil Uygulamaların cep telefonlarında ve tabletlerde regresyon testi için. Appium, mobil uygulama regresyon testini kolaylaştırır; özellikle, sık sık yeni özellikler ve işlevlerle güncellenen büyük mobil uygulamalar için.
Appium Aracını Windows'ta Kurma
Ön koşullar: Bu, Appium kullanarak bir mobil Uygulama testini otomatikleştirmek için gereken yazılım ve donanımın kısa bir listesidir:
- Bilgisayarınızda JDK, Appium Server, Eclipse, Android SDK yüklü olmalıdır
- APK: Case ContactManager.apk'ımızda otomatik hale getirilecek Mobil Uygulama
- Test Cihazı: Bu durumda Moto G
- Kavanozlar: Java istemcisi kavanozları ve Selenium Kavanozları.
- Test Cihazı için USB sürücüsü: Bu durumda Moto G
Aşama 1: Java Geliştirme Kitini ( JDK )
Adım 2: Java'yı kurun Ortam Değişken Yolu
Aşama 3: Android SDK'yı indirin ve yükleyin İşte ve API'leri güncelleyin
API'yi güncellemek için, Eclipse'i açın -> Eclipse Menüsünde Pencereye tıklayın ve -> Android SDK yöneticisini seçin
API'leri aşağıdaki ekran görüntüsünde gösterildiği gibi güncelleyin:
4. Adım: Şimdi Windows için Appium'u kurmamız gerekiyor. Git İşte ve Windows için Appium'u indirin.
Adım 5: I nstall Node JS buradan: Node JS indirme
6. Adım: Yı kur ANDROID_HOME yol yanı sıra JAVA_HOME yol
Android SDK yolunda bulunan araçlar ve platform aracı için yolu belirtin.
Bu klasörler şurada bulunacak adt-bundle-windows-x86_64-20140702 sdk
Şimdi Ortam değişkenini güncellememiz gerekiyor (Ekran görüntüsünün altına bakın)
(Not:Büyütülmüş görmek için herhangi bir resme tıklayın)
Yolu araçlar ve platform araçlarıyla güncelleyin (Android SDK'da bulunan klasör).
Yoldaki giriş aşağıdaki gibi görünecektir:
C: Program Dosyaları nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform araçları
7. Adım: adb'ye erişin
Win + R tuş kombinasyonuna basın
Tür CMD . Şimdi CMD türü ' adb ’. adb erişilebilir olacak
Mobil Cihazın Appium İle Otomasyona Hazırlanması
Mobil Test cihazınızı USB üzerinden PC'ye bağlayın. Uygulamayı otomatikleştirmeden önce Cep Telefonunda Geliştirici Modunu etkinleştirin.
Android Telefon veya Tablette Geliştirici Modunu / Seçeneklerini Etkinleştirme Adımları:
1) Ayarları Açın, 'Hakkında' Seçeneğine, 'Yazılım Bilgileri' ne, 'Daha Fazla' ya dokunun.
iki) Geliştirici seçeneklerini etkinleştirmek için 'Yapı numarası' na 7 kez dokunun.
3) Ayarlar'a geri dönün ve 'Geliştirici seçenekleri' ayarının orada olduğundan emin olun.
4) Geliştirici seçeneklerine dokunun ve bir sonraki ekrandaki menüden USB Hata Ayıklama seçeneğini açın.
Daha fazla yardım için bunu takip edin bağlantı .
5) PC'ye Mobil Test cihazı için USB Sürücülerini indirin ve yükleyin.
6) Adb terminali türünde 'adb cihazlar'
C: Kullanıcılar NEERAJ> adb cihazları
Ekli cihazların listesi
TA93305G0L cihazı
Bu, sisteme bağlı cihazların listesini gösterecektir. Otomatikleştirmek için örnek bir Uygulama olarak App Contact Manager.apk'yi kullanacağız. İndirin ve kurun Contact Manager.apk cihazda.
Appium Kullanarak Android Uygulamasını Otomatikleştirmeye Başlama
Şimdi çalıştırın appium.exe PC'de.
Appium'un çalışıyor olması ve Android Ayarlarında aşağıdaki parametreleri ve Cihaz Adını geçmesi gerekir.
Not: Bağlantı noktası numarasını veya genel ayar simgesindeki herhangi bir şeyi değiştirmeyin. Appium Server başladığında, Sunucu adresi ve Bağlantı Noktası adresi varsayılan olarak ayarlanacaktır. Bağlantı noktası adresi varsayılan olarak 4723 olacaktır
Android Ayarında, kullanıcının APK'nin bulunduğu APK yolunu ayarlaması, Uygulama yolunu kontrol etmesi, paketlemesi ve Aktiviteyi başlatması gerekir.
- Android telefonunuzu PC'ye bağlayın ve USB hata ayıklama modunu açın.
- Komut istemini açın.
- Komut yazın adb logcat .
- Android telefonunuzda uygulamayı açın. Hemen basın CTRL + C komut isteminde
com.example.android.contactmanager paket adı ve com.example.android.contactmanager.ContactManager Kişi Yöneticisi uygulamasının etkinlik adıdır.
Yukarıdaki ekran görüntüsünde, Appium'daki gerekli tüm bilgileri, yani paket, başlatma etkinliği, Mobil Cihaz Adı doldurduk.
UIAutomatorViewer Kullanarak Eleman Nasıl Bulunur?
1) Uygulamayı otomatikleştirmek için öncelikle etkileşime girmemiz gereken uygulamanın öğelerini bulmamız gerekecek
bunun için kullanacağız UIAutomatorViewer
iki) Uygulamanın yüklü olduğu cihazı PC'ye bağlayın
3) Terminale gidin.
Tür 'Adb cihazlar'
C: Kullanıcılar NEERAJ> adb cihazları
Ekli cihazların listesi
TA93305G0L cihazı
Bu, bilgisayarınıza bağlı cihazların listesini gösterecektir.
4) Otomatikleştirmek istediğiniz Uygulamayı Mobil Cihazda açın.
5) Açık UIAutomatorViewer ve aşağıdaki yola gidin
adt-bundle-windows-x86_64-20140702 sdk tools
6) Bu nedenle, Uygulamanızın başlatıldığından ve UIAutomaterViewer Cihaz ekran görüntüsüne tıklandığında başlatılır.
7) Bu seçenek, Uygulamada görünen tüm öğelerin tüm ayrıntılı bilgileriyle birlikte Uygulamanın ekran görüntüsünü alacaktır.
Test Senaryomuz için Kişi Ekle Düğmesine tıklayın
deneyimli web hizmetleri mülakat soruları ve cevapları
Yukarıdaki ekran görüntüsünden konum belirleyiciyi kullanabiliriz By.name ('Kişi Ekle')
Yukarıdaki ekran görüntüsünden Kişi Adı için konum belirleyicimiz olarak By.className (“android.widget.EditText”)) alabiliriz
By.name ('Kaydet') Kaydet Düğmesi için yer bulucumuz olarak kullanılabilir
Appium'da Bir Uygulamayı Otomatikleştirmek İçin İlk Program
Aşağıdaki Komut Dosyasını çalıştırın, Kişi Yöneticisi uygulaması gerçek cihazda başlatılacak ve tüm günlükler, yukarıdaki komut dosyası tarafından çağrılan tüm eylemleri gösteren Appium konsolunda görüntülenecektir.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Eclipse IDE ile Appium'u Kurun
Appium için Gerekli Yazılım :
- JDK, Appium Sunucusu, Eclipse, Android SDK
- Kavanozlar: java-müşteri kavanozları ve Selenium Kavanozları.
- APK: Otomatikleştirilecek uygulama
- Gerçek Cihaz: Bu durumda SAMSUNG Note3
- Gerçek Aygıt için USB sürücüsü: Bu durumda SAMSUNG Kies
Aşama 1: Yükle Java Geliştirme Kiti (JDK)
Adım 2: Kurulum Java Ortamı Değişken Yolu
Terminale gidin ve şunu yazın:
.Bash_profile dosyasını açın
ANDROID_HOME Yolunu ve JAVA_HOME Yolunu ayarlayın
Aşama 3: Android SDK'yı yükleyin / MAC üzerinde ADB
Tools, Extras ve ilgili API Level paketlerini kurmamız gerekiyor (bu durumda Android 4.4.2 API 19).
(Not:Büyütülmüş görmek için herhangi bir resme tıklayın)
4. Adım: İndirin ve epochs yükleme sunucusu
Not 1: Genel ayar simgesinde herhangi bir ayar yapmaya gerek yoktur. Appium Sunucusu kurulduğunda, Sunucu adresi ve Bağlantı Noktası adresi varsayılan olarak ayarlanacaktır. Bağlantı noktası adresi 4723 olacaktır. Kullanıcı, gerekirse sunucu adresini değiştirebilir.
Not 2: Android Ayarında, kullanıcının APK'nin bulunduğu APK yolunu ayarlaması, Uygulama yolunu kontrol etmesi, paketlemesi ve Aktiviteyi başlatması gerekir.
.Apk Dosya Paketi Adı ve Başlatıcı Etkinlik Adı Nasıl Bulunur:
Bir uygulamanın Paket adını ve Başlatıcı Etkinlik Adını öğrenmenin pek çok yolu vardır. Burada terminal, Paket ve Başlatıcı Aktivite adını almak için kullanılır.
Terminale gidin ve şunu yazın:
aapt dump rozeti
Aşağıdaki ekran için 'Enter' tuşuna basın:
Bir kullanıcı Appium Sunucusunda paket adını belirtirse, ardından Başlatıcı Aktivite Adı, Aktivite adlarının otomatik olarak görüntülenmesini bekleyin.
Bu durumda Başlatıcı Etkinlik Adı:
' com.amazon.mShop.android.home.HomeActivity. '
Android Telefon veya Tablette Geliştirici Modunu / Seçeneklerini Etkinleştirme Adımları
Aşama 1:Geliştirici Seçeneklerini Etkinleştir
1) Üzerine dokunun. Ana menü simgesi.
iki) Git Ayarlar .
3) Aşağı kaydırın ' Telefon hakkında 'Ve üzerine dokunun.
4) Aşağı kaydırın, ' Yapı numarası' Yedi (7) kez . ( Yapı numaranız değişebilir ). Üçüncü dokunuştan sonra, kullanıcı eğlenceli bir diyalog görebilir ' Sen bir geliştiricisin ”. Diyalog görüntülenene kadar dokunmaya devam edin.
5) Şimdi ekranınızda Geliştirici Seçeneklerini fark edebilirsiniz.
Adım 2:USB Hata Ayıklamayı Açın
1) Git Geliştirici Seçenekleri .
iki ) Seçiniz USB hata ayıklama .
3) Görüntüleyebilir Aniden belirmek mesaj ve eğer varsa, basitçe Tıklayın TAMAM MI .
Aşama 3:İlgili Gerçek Aygıt için USB Sürücüsünü indirin ve yükleyin. Bu durumda SAMSUNG Kies.
UIAutomatorViewer Kullanarak Eleman Nasıl Bulunur?
1) Cihazdaki herhangi bir öğeyi bulmadan önce ilk adım, cihazı bilgisayara bağlamaktır.
Cihaz bağlantısını kontrol etmek için aşağıdaki adımları izleyin:
- Git terminal .
- 'Yazın adb cihazları '
Bu, sisteme bağlı cihazların listesini gösterecektir.
iki) Gerçek cihazda otomatikleştirilmesi gereken uygulamayı açın (Burada amazon uygulaması otomatiktir)
3) Açmak için aşağıdaki dizine gidin UIAutomatorViewer :
Kullanıcılar -> Kütüphane -> android -> sdk -> araçlar -> uiautomatorviewer.bat
ESKİ: kullanıcılar / bikram.badatya / Library / Android / sdk / tool /
4) UIAutomatorViewer'da, Cihaz ekran görüntüsü .
5) Tıklandığında Cihaz ekran görüntüsü, cihaz görüntüsü ayrıntılı bilgilerle birlikte UIAutomator penceresinin sol tarafında görüntülenecektir.
6) Sayfadaki herhangi bir öğeye tıklandığında, o öğeyle ilgili bilgiler sağ tarafta görüntülenecektir.
7) Tıkla Ana menü Tüm özellikleri görüntülemek için düğmesine basın.
Amazon Uygulamasını Başlatmak için Appium Testi
1) Appium Server'ı başlatın.
2) Android Ayarları.
3) Sunucu Adresi ve Bağlantı Noktası adresi için Genel Ayarlar:
4) Başlatma düğmesine tıklayın .
Amazon Uygulamasını başlatmak için kod parçacığı:
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriverYukarıdaki Komut dosyası yürütüldüğünde, Amazon uygulaması gerçek cihazda başlatılacak ve Appium konsolunda mesajların bir listesi görüntülenecektir.
Önemli komutlar
1) Adb sunucusunu öldürmek için:
adb kill sunucusu
iki) Adb sunucusunu başlatmak için:
adb başlangıç sunucusu
3) JAVA_Home Yolunu da ANDROID_Home Yolunu ayarlamak için
.bash_profile açın
4) Paket adını ve android Launcher adını apk olarak almak için (başka bir yolla)
aapt dump rozeti .apk adı
Eski- aapt dump rozeti
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Gerçek cihaza apk yüklemek için
adb install .apk adı
6) Gerçek cihazda apk kaldırmak için
adb kaldırma
Eski - adb kaldırma com.amazon.mShop.android
Önceki çağların sınırlamaları
- 17'den az Android API seviyesini desteklemez
- Tost mesajları desteklenmez
- IOS platformunda komut dosyası yürütme çok yavaş
- Hareket desteği sınırlıdır
Appium ile Çalışırken Karşılaşılan Zorluklar
# 1) Uygulamayı başlatmak için gerekli olan başlatıcı etkinlik adını almak için, “apkInfo” adlı ekstra bir apk'nin yüklenmesi, belirli kod satırlarının yazılması vb. Gibi birçok yöntem takip edilebilir. Ancak bu belgede, Başlatıcı etkinlik adını almak için aşağıdaki komut kullanılır.
yani aapt dump rozeti .apk adı
#iki) Android SDK yöneticisindeki kurulum sırasında, kaldırılması gereken aşağıdaki paketlere odaklanmamız gerekir. Aksi takdirde uygulama başlamaz

# 3) Özellikle MAC'da Java_HomePath ve Android HomePath'i .bash_profile içinde kurmamız gerekir, böylece tekrar tekrar kurulum yapmaya gerek kalmaz.
# 4) Bir Emülatör kullanarak uygulamayı başlatmak, gerçek bir cihaza kıyasla daha fazla zaman harcar. Bu nedenle, gerçek bir cihazın kullanılması tavsiye edilir.
Sonuç
Ortaya çıkan trendler ve Mobil Uygulamalar için daha fazla taleple birlikte, tüm büyük şirketler işlerini mobil uygulamalara taşımak için geçiş yapıyor. Bu nedenle, kaliteli mobil uygulamaları yayınlamak için, mobil uygulamaların otomasyon testi, sektördeki en son trenddir.
Appium, sadeliği ve kullanım kolaylığı nedeniyle, iOS veya Android için mobil uygulamaların otomasyon testi için tüm dünyada lider ve en yaygın kullanılan araçlardan biridir.
Yazar hakkında: Bu gönderi STH ekip üyesi Neeraj tarafından yazılmıştır. Şu anda Test'te Kıdemli Yazılım Geliştirme Mühendisi olarak çalışan tutkulu bir yazılım testçisi ve web ve mobil uygulamaları test etmekten hoşlanıyor.
Daha fazlasını okumak için burayı kontrol edin Appium Studio Aracını Kullanarak Mobil Otomasyon.
Önerilen Kaynaklar
- Mobil UI Testi Eğitimi (iOS ve Android Uygulamalarının GUI Testi)
- Android ve iOS için 2021'de EN İYİ 15 En İyi Mobil Test Aracı
- Mobil Uygulama Beta Test Hizmetleri (iOS ve Android Beta Test Araçları)
- Mobil Test Neden Zor?
- Buluttan Appium Studio'ya Gerçek iOS ve Android Cihazları Bağlama
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Mobil Uygulama Test Eğitimleri (30'dan Fazla Öğreticiden oluşan Tam Bir Kılavuz)
- Mobil Test İşine Hızlıca Nasıl Sahip Olunur - Mobil Test Kariyer Rehberi (Bölüm 1)