Appium Yeni Başlayanlar İçin Öğretici

⚡ Akıllı Özet

Appium için öğretici Android iOS Mobil Uygulama Testi, her iki platformda da yerel, hibrit ve web uygulamalarını tek bir arayüzle çalıştıran açık kaynaklı bir kullanıcı arayüzü otomasyon çerçevesi sunar. Selenium-uyumlu API. Bu kılavuz, nasıl yapılacağını açıklıyor. Appium işler, kurulum adımları, Denetleyici, emülatör bağlantısı ve bir Java Hesap makinesi test örneği.

  • ???? Temel Tanım: Appium Yerel, hibrit ve web uygulamalarını destekleyen açık kaynaklı bir mobil kullanıcı arayüzü otomasyon çerçevesidir. Android ve iOS'a tek bir API aracılığıyla.
  • 🔌 HTTP Sunucu Modeli: Appium Bu, WebDriver JSON komutlarını platforma özgü otomasyon çağrılarına çeviren bir Node.js HTTP sunucusu olarak çalışır.
  • 🧰 Araç Dizisi: Gerekli ön koşullar şunlardır: Android SDK, JDK, Eclipse, TestNG, Selenium Sunucu JAR dosyası, Appium istemci kütüphanesi ve Appium Masaüstü.
  • 🔍 Müfettiş ve Kayıt Memuru: Appium Denetleyici, öğe hiyerarşilerini inceler ve şablon komut dosyaları oluştururken, UIAutomator Görüntüleyici ise... Windows geri çekil.
  • Java Test İş Akışı: DesiredCapabilities, RemoteWebDriver ve TestNG yerel uygulamaları başlatmak ve doğrulamak için ek açıklamalar Android Hesap makinesi gibi uygulamalar.

Appium için öğretici Android ve iOS Mobil Uygulamaları Testi

Nedir? Appium?

Appium Bu, ücretsiz olarak dağıtılan açık kaynaklı bir mobil uygulama kullanıcı arayüzüdür. test yapmak çerçeve. Appium Yerel, hibrit ve web uygulamalarının test edilmesine olanak tanır ve hem fiziksel cihazlarda hem de emülatör ve simülatörlerde otomasyonu destekler. Çapraz platform uygulama testi sunar; tek bir API her ikisi için de çalışır. Android ve iOS test komut dosyaları.

Appium vardır yok hayır Mobil cihazın işletim sistemine olan bağımlılık. Çerçeve, bu bağımlılığı sarmalar ve çevirir. Selenium WebDriver komutlarını UIAutomation (iOS) veya UIAutomator'a (AndroidBu komutlar, altta yatan işletim sistemi sürümüne değil, cihaz türüne bağlı olarak çalışır.

Appium her dili destekler Selenium istemci kütüphaneleri — Java, Amaç-C, JavaSenaryo Node.js, PHP, Ruby ile, Python, C#Ve daha fazlası.

Nasıl Appium İş?

  • Appium HTTP sunucusu, üzerine yazılmış bir sunucudur. node.js iOS'u çalıştıran platform ve Android WebDriver JSON iletişim protokolünü kullanan oturumlar. Başlatmadan önce sistemde Node.js'nin önceden kurulu olması gerekir. Appium sunucusu.
  • Ne zaman Appium İndirilip kurulduktan sonra, yerel makinede REST API'yi kullanıma sunan bir sunucu kurulur.
  • Sunucu, istemciden gelen bağlantı ve komut isteklerini kabul eder ve komutları mobil cihazda yürütür (Android veya iOS).
  • HTTP yanıtlarıyla karşılık verir. İstekleri yürütmek için, Appium Uygulamanın kullanıcı arayüzünü çalıştırmak için yerel mobil otomasyon çerçevelerine çağrılar yapar:
    • iOS için Apple Instruments (Enstrümanlar yalnızca Xcode 3.0 veya üzeri (OS X v10.5 ve üzeri ile birlikte).
    • Google UIAutomator için Android API seviyesi 16 veya üzeri.
    • Selendroid için Android API seviyesi 15 veya daha düşük.

Kullanım Ön Koşulları Appium

  1. kurmak Android SDK (Stüdyo) [Link].
  2. kurmak JDK (Java Geliştirme Kiti) [Link].
  3. kurmak Eclipse [Link].
  4. kurmak TestNG için Eclipse [Link].
  5. kurmak Selenium Sunucu JAR'ı [Link].
  6. Appium İstemci Kitaplığı [Link].
  7. APK Uygulama Bilgileri on Google Oynamak [Link].
  8. node.js (kesinlikle gerekli değil — ne zaman) Appium Sunucu kuruldu, Node.exe ve NPM mevcut paketle birlikte geliyor. Appium versiyonu).
  9. kurmak Appium Masaüstü.

kurmak Appium Masaüstü

Appium Desktop, kurulumu ve çalıştırılması yapılan açık kaynaklı bir grafik kullanıcı arayüzü (GUI) uygulamasıdır. Appium Sunucu. Kullanım için gerekli tüm ön koşullar paket halinde sunulmaktadır. Appium Sunucu, uygulamalarınız hakkında temel bilgileri ortaya çıkaran bir Denetleyici ve mobil uygulamaları otomatikleştiren şablon kodları üreten bir Kaydedici ile birlikte gelir.

) 1 Adım MyCAD'de yazılım Güncelleme ye git http://appium.io/ ve İndir'e tıklayın. Appium.

Appium resmi site indirme sayfası

) 2 Adım Her Ticaretçi İçin Mükemmellik Windows.exe dosyasını seçin ve indirin. Dosya yaklaşık 162 MB boyutundadır ve internet hızınıza bağlı olarak indirme süresi değişebilir.

Klinik Windows Appium Masaüstü yükleyici

) 3 Adım İndirdiğiniz .exe dosyasına tıklayın.

koşmak Appium Masaüstü yükleyici yürütülebilir dosyası

) 4 Adım Bir Açık Windows Makinede kurulum sihirbazı yok. Appium .exe dosyasından doğrudan çalıştırılır. .exe dosyasına tıkladıktan sonra, birkaç dakika boyunca aşağıdaki karşılama ekranı görünür.

Appium Masaüstü yükleme animasyonu

Her Ticaretçi İçin Mükemmellik macOS.dmg dosyasını yüklemeniz gerekiyor.

) 5 Adım Sunucu Başlatma penceresi açılır. Varsayılan ana bilgisayar ve bağlantı noktasını (değiştirebilirsiniz) doldurur ve görüntüler. Appium Kullanılan sürüm.

Appium Sunucu başlatma penceresi (ana bilgisayar ve bağlantı noktası bilgileriyle birlikte)

) 6 Adım Tıkla Sunucuyu BaşlatBelirtilen ana bilgisayar ve bağlantı noktasında yeni bir sunucu başlatılır ve sunucu günlük çıktısı konsolda görünür.

Appium Başlatıldıktan sonra sunucu günlük çıktısı

) 7 Adım Tıkla Yeni Oturum Penceresi.

Yeni Oturum Penceresini Aç Appium Masaüstü

) 8 Adım İstediğiniz yetenekleri girin ve bir oturum başlatın.

İstediğiniz yetenekleri girerek başlayın. Appium Oturum

Appium Müfettiş

Benzer Selenium IDE kayıt ve oynatma aracı, Appium sahip olduğu Müfettiş Testleri kaydetmek ve oynatmak için kullanılır. DOM'u inceleyerek yerel uygulama davranışını kaydeder ve oynatır, ayrıca desteklenen herhangi bir dilde test komut dosyaları oluşturur. Dikkat edilmesi gereken nokta şudur: Appium Denetleyici desteklenmiyor. Microsoft Windows: açık Windows Bu, başlatıyor Appium Sunucuya bağlanıyor ancak öğeleri incelemede başarısız oluyor. Öğeleri incelemek için önerilen alternatif çözüm UIAutomator Viewer'dır. Windows.

Başlamak için adımlar Appium Mac bilgisayarda Inspector:

) 1 Adım İndirin ve başlatın Appium Sunucu, varsayılan IP adresi olan 0.0.0.0 ve 4725 portunu kullanıyor.

  1. Test etmek için yerel sürücünüzden kaynak dosyayı veya .app dosyasını seçin.
  2. “Uygulama Yolu” onay kutusunu işaretleyerek “Seç” düğmesini etkinleştirin.

) 2 Adım Yerel sürücüden test dosyasını bulmak ve seçmek için "Seç" düğmesine tıklayın.

Appium Mac'te Denetleyici Uygulaması Yol Seçimi

) 3 Adım Mac bilgisayarınızda iOS Simülatörünü başlatın.

) 4 Adım Tıkla Başlatmak Sağ üst köşedeki düğmeye tıklayın. Bu, mavi bir simgeyi etkinleştirir; açmak için bu simgeye tıklayın. Appium Denetleyici ve simülatör, önceden seçilmiş uygulama ile birlikte.

Başlatmak Appium iOS Simülatörü ile Denetleyici

) 5 Adım Bir kez başlatıldığında, Appium Denetleyici, öğe hiyerarşisini sütun bazlı bir yapıda gösterir. Kullanıcı ayrıca dokunma, kaydırma ve benzeri hareketler gibi eylemler de uygulayabilir.

Appium Denetleyici öğe hiyerarşisi görünümü

) 6 Adım Tıkla dur Kaydı bitirmek için

Bir tane ekle Android Emülatör Appium

) 1 Adım kurmak Android Sisteminizde SDK kurulu olmalı.

Denetim Masası > Sistem ve Güvenlik > Sistem'i açın. Sol panelden tıklayın. Gelişmiş Sistem AyarlarıSistem Özellikleri açılır penceresinde, üzerine tıklayın. Gelişmiş ortodontik vakalar için kapsamlı çözüm paketi sekmesini ve ardından Ortam Değişkenleri.

Açık Ortam Değişkenleri Windows

) 2 Adım Ortam Değişkenleri açılır penceresinden çift tıklayın. Yol ve ayarla ANDROID_HOME SDK dizininizi işaret edecek bir değişken. SDK klasörünün tam yolunu ekleyin. Örneğin:

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Ortam Değişkenlerinde ANDROID_HOME'u ayarlayın.

) 3 Adım Başla Android emülatör veya bir Android Aygıtı sisteminize bağlayın. Aygıt üzerinde USB hata ayıklama özelliğinin etkinleştirildiğinden emin olun. Android Cihaz: Cihaz Ayarları > Geliştirici Seçenekleri > "USB Hata Ayıklama"yı etkinleştirin.

) 4 Adım Komut İstemi'ni açın ve şu konuma gidin: Android SDK'ların \platform-tools\ dizin (örneğin, D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

) 5 Adım Çalıştır adb devices Komut. Bağlı cihazınız Komut İstemi penceresinde listelenecektir. Tam adı şöyledir: adb -s emulator-5554 install <Location of .apk file>.

adb devices komutunun bağlı emülatörü gösteren çıktısı

) 6 Adım Çalıştır adb start-server komut. ADB sunucusu başlatılır ve Appium bunu kullanarak size komutlar gönderecek. Android cihaz.

) 7 Adım gidin Appium sisteminizdeki dizine gidin ve başlatın. Appium tıklayarak Appium.exe dosyası.

) 8 Adım Varsayılan IP adresini veya bağlantı noktası numarasını değiştirmeyin. Tıklayın. Başlatmak. senin Appium Konsol, aşağıda gösterildiği gibi 127.0.0.1:4723 adresinden başlar.

Appium 127.0.0.1:4723 adresinde çalışan konsol

) 9 Adım Tıkla Ana Sayfa. Appium Sunucu şu anda sisteminizde çalışıyor.

Appium Yerel bir uygulama için test senaryosu Android Uygulama (Hesap Makinesi)

) 1 Adım ADT'yi indirin Eclipse eklentiyi indirin veya ADT paketini ayrı olarak edinin. okuyun.

) 2 Adım Açılış Eclipse ve yeni bir Proje > Paket > Sınıf oluşturun.

) 3 Adım içe aktar Selenium kütüphane ve TestNG yeni projeye.

) 4 Adım Küçük bir test programı oluşturun. hesap makinesi.uygulama İki sayının toplamını veren.

package src_Appium;

import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;

public class Calculator {
    WebDriver driver;

    @BeforeClass
    public void setUp() throws MalformedURLException {
        // Set up desired capabilities and pass the Android app activity and package to Appium
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("BROWSER_NAME", "Android");
        capabilities.setCapability("VERSION", "4.4.2");
        capabilities.setCapability("deviceName", "Emulator");
        capabilities.setCapability("platformName", "Android");

        capabilities.setCapability("appPackage", "com.android.calculator2");
        // Package name of the app (get it from an APK info app)
        capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
        // Launcher activity of the app (get it from an APK info app)

        // Create a RemoteWebDriver instance and connect to the Appium server
        // Launches the Calculator app on the Android device using the capabilities above
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }

    @Test
    public void testCal() throws Exception {
        // Locate the keys on the calculator by name
        WebElement two = driver.findElement(By.name("2"));
        two.click();
        WebElement plus = driver.findElement(By.name("+"));
        plus.click();
        WebElement four = driver.findElement(By.name("4"));
        four.click();
        WebElement equalTo = driver.findElement(By.name("="));
        equalTo.click();
        // Locate the calculator output by tag name
        WebElement results = driver.findElement(By.tagName("EditText"));
        // Check the calculated value on the edit box
        assert results.getText().equals("6") :
            "Actual value is : " + results.getText() + " did not match with expected value: 6";
    }

    @AfterClass
    public void teardown() {
        // Close the app
        driver.quit();
    }
}

Başlat Appium Sunucu ve Android AVD Yöneticisi'nden Öykünücü'yü seçin, ardından Çalıştır > seçeneğine tıklayın. TestNGProgram, seçilen emülatörde Calculator.app uygulamasını çalıştırır ve sonuç ekranda görüntülenir. Eclipse konsolu kullanarak TestNG çerçeve.

Sınırlamaları Appium

  1. Appium Üzerinde test yapılmasını desteklemiyor. Android 4.2'den düşük sürümler.
  2. Hibrit uygulama testlerine yönelik destek sınırlıdır; örneğin, web görünümü ile yerel görünüm arasında geçiş eyleminin her iki yönde de test edilmesi mümkün değildir.
  3. Çalıştırma için destek yok. Appium Müfettiş açık Microsoft Windows.

Sık Karşılaşılan Hatalar ve Sorun Giderme Adımları Appium

Hata Sorun Giderme Adımları
Hata: Aşağıdaki istenen özellikler gereklidir ancak sağlanmamıştır: deviceName, platformName İstenilen özellikleri ekleyin deviceName hem de platformName için Appium betik. Örneğin: capabilities.setCapability("deviceName", "Emulator"); hem de capabilities.setCapability("platformName", "Android");
hata: adb bulunamadı. Lütfen ANDROID_HOME ortam değişkenini şu şekilde ayarlayın: Android SDK kök dizin yolu. Sistem Ortam Değişkenlerinde, Yol girdisi altına SDK kök dizinini ayarlayın.
Hata: org.openqa.selenium.SessionNotCreatedException: Yeni bir oturum oluşturulamadı. Doğru uygulama yolunu ayarlayın ve yeniden başlatın. Appium sunucusu.
DOM öğesi nasıl bulunur veya XPath mobil uygulamada mı? UIAutomator Viewer'ı kullanarak DOM öğelerini inceleyin. Android uygulamaları.

SSS

Selenium Web tarayıcılarını otomatikleştirir; Appium Mobil uygulamaları otomatikleştirir. Appium WebDriver protokolünü yeniden kullanır, bu nedenle Selenium Kullanıcılar bunu hızla benimsiyor, ancak Appium Aynı zamanda yerel, hibrit ve mobil web uygulamalarını da destekler. Android ve iOS için platforma özgü otomasyon motorları aracılığıyla.

Appium her dili destekler Selenium WebDriver istemcisi, dahil olmak üzere Java, Python, JavaNode.js, Ruby, C#, PHP ve Objective-C ile yazılmış betikler. Bu, Appium Dil değişikliği gerektirmeden, farklı mühendislik ekipleri arasında uyarlanabilir.

Evet. Appium Cihaza yüklenmiş yerel uygulamaları, gömülü web görünümlerine sahip hibrit uygulamaları ve Chrome veya Safari içinde çalışan mobil web uygulamalarını test eder. Tek bir WebDriver tabanlı API, her üç türü de yönetir ve bu da platformlar arası test bakımını basitleştirir.

Yapay zeka gelişiyor Appium Kendi kendini onaran konum belirleyiciler, görsel doğrulama ve yapay zeka tarafından oluşturulan test adımları aracılığıyla test paketleri oluşturulur. Yapay zeka motorları, uygulama güncellemeleri boyunca konum belirleyici kaymasını tespit eder, istikrarlı XPath alternatifleri önerir ve kararsız testleri otomatik olarak sınıflandırarak mühendislerin bakım yerine gerçek hatalara odaklanmasını sağlar.

Evet. Yapay zekâ destekli mobil test araçları, uygulama ekranlarını analiz eder, etkileşimli öğeleri belirler ve sonuçlar üretir. Appium İstenen yeteneklere ve konum belirleyicilere sahip komut dosyaları oluşturulur. Test uzmanları daha sonra komut dosyalarını inceler ve iyileştirir; bu da tekrarlayan kodları azaltır ve yeni ekipler için işe alım sürecini hızlandırır. Appium otomasyon.

Bu yazıyı şu şekilde özetleyin: