Appium ile Mobil Test Otomasyonu - 1
Günümüzde cep telefonu, tablet gibi araçların kullanımının artması ile mobil uygulamaların geliştirilmesine daha fazla önem verilmiş ve dolayısı ile bu uygulamaların test edilmesi için mobil test otomasyonuna olan ihtiyaç da artmıştır. Bu makalede bu ihtiyaca yönelik olarak geliştirilen mobil test otomasyon aracı Appium incelenmeye çalışılacaktır.
Appium:
- Açık kaynak mobil test otomasyon aracıdır.
- Cross-platform test desteğine sahiptir.
- Native, hybrid ve mobil web uygulamalarında çalışır.
- Emulatör, simülatör ve gerçek araçlarda çalışma desteği sağlar.
- Selenium-Webdriver komutlarını destekler.
- Selenium tabanlı olduğu için Selenium’un desteklediği tüm dillerde yazılabilir. (Java, C#, Python, Javascript)
- Sürekli entegrasyon (Continuous Integration) araçları ile entegre olabilme özelliğine sahiptir.
Desteklediği Platformlar:
- iOS
- Android
- Firefox OS
Appium Mimarisi:
Appium, Node.js kullanılarak yazılmış bir web sunucusudur. İstemci/sunucu(client/server) mimarisini kullanarak çalışır. Appium da istemci, Appium sunucusuna otomasyonla ilgili istekleri JSON formatında gönderir. Bu istekler sunucu tarafında dinlenir ve gelen komutlar mobil aygıtta çalıştırılır ve test sonucu veya log dosyası olarak komutun çalışma sonuçlarını döndürür.
Şekil 1. Appium Mimarisi
Appium sunucusu gelen isteğin bir IOS mu yoksa Android isteği mi olup olmadığına “desiredCapabilities” argümanlarına bakarak karar verir. Aşağıda yer alan 2 argüman testlerin hangi platformda koşulacağını belirlemek için kullanılır.
- automationName: Hangi otomasyon motorunun(automation engine) belirlendiği kısım. Şekil 2’de Android için “uiautomator2” motoru kullanılmıştır. IOS için “XCUITest” motoru kullanılabilir.
- deviceName: Hangi tür mobil aracın veya emülatörün kullanılacağı bilgisinin verildiği kısım.
Daha fazla argüman için şu adresi inceleyebilirsiniz. http://appium.io/docs/en/writing-running-appium/caps/#appium-desired-capabilities
Şekil 2. Desired Capabilites
Appium Çalıştırmak için Gerekli Olanlar:
- JDK
- Android SDK
- Node.JS
- Appium Desktop
- Android Studio (Gerçek bir mobil cihaz yerine emülatör kullanmak istiyorsanız gerekli)
- XCode(MAC kullanıcıları için IOS otomasyonu için gerekli)
- IDE (Java-Eclipse/Intellij Idea)
Bu makalede kısaca Appium’a giriş yapılmıştır. Yukarıdaki maddelerde de görüleceği üzere Appium ile test otomasyonuna başlamak için bazı kurulumların yapılması gerekmektedir. Bu kurulumların ve gerekli konfigürasyonların nasıl yapılacağı sonraki makalelerde anlatılacaktır.
Proven Test Hizmetleri Ekipleri; Entegre Test Yönetimi Yaklaşımı, Bağımsız Test ve Dış Kaynak Hizmetleri ile müşterilerinin yazılım ve bilişim alanındaki ürün ve hizmetlerinin kalitesini arttırmak için alternatif çözümler sağlamaktadır. Konuyla ilgili sorularınız için [email protected] adresine e-posta atarak ulaşabilirsiniz.
Gamze Yılmazer
Referanslar: