Uzak sunucuda bulunan android cihaz ile otomasyon
Bu yazımda uzak bilgisayara bağlı olan android cihaza erişimin nasıl yapılacağını anlatmaya çalışacağım. Birde bu işi Appium ile nasıl olacağını da anlatacağım.
Ön Koşul :
İlk önce uzak bilgisayara android cihazının takılı olması gerekmektedir. Birde tahmin edebileceğiniz üzere “Developer Mode” un ve “USB Debugging” açık olması gerekmektedir.
Adb (Android Debug Bridge) Sunucusunu ayağa kaldırmak
İlk önce bilgisayar windows ise “Environment Variables” Mac/Linux ise PATH’ e adb’nin PATH’ e eklenmesi gerekmektedir. Bu durumun detayı için tıklayınız.
Android Debug Bridge sunucusunu ayağa kaldırmak uzak sunucuda için şu komut çalıştırılır;
adb -a -P 5037 server nodaemon
Cmd veya terminalden 5037 portunu dinleyen sunucuyu çalıştırdık ve bu ekranı haliyle kapalı olmaması gerekmekte.
Eğer başka bir sunucu ayakta ise kill etmek için aşağıdaki komutu çalıştırabilirsiniz;
adb kill-server
Cihaza erişimin kontrolü için aşağıdaki komut yardımı ile test edebilirsiniz;
adb devices
Appium Capabilities
Webdriverio kütüphanesi ile client’ı çalıştıracağım için şu şekilde ayar yaptım;
{
“platformName”: “Android”,
“appium:deviceName”: “Nexus”,
“appium:app”: “/Users/ApiDemo.apk”,
“appium:automationName”: “UiAutomator2”,
"remoteAdbHost":"<REMOTE_IP>",
"adbPort":5037,
"systemPort":8021,
}
“adbPort” ve “systemPort” portu haricinde diğer değerleri kendinize göre değiştirebilirsiniz.
Burada dikkat edilmesi gerekenler;
“remoteAdbHost” ‘un uzaktaki sunucunun ip bilgisinin verilmesi,
“adbPort” ise uzak sunucuda port olarak 5037 verdiğimiz için belirtilmesi gerekmektedir. Varsayılan bu şekilde ama siz başka porttan ayağa kaldırmanız durumunda değiştirmeniz gerekmektedir.
“systemPort” ise UiAutomator2′ nin kullandığı driver portudur. Varsayılan port bu şekilde. Eğer paralel koşum olacak ise haliyle bu portun eşsiz olması gerekecek.
Appium Capabilities bilgilerine erişmek için tıklayınız.
Uzak Sunucudaki Cihaz Kontrolü
Uzak sunucudaki cihaza erişip erişemediğimizin testi için aşağıdaki komutu çalıştırabiliriz.
adb -L tcp:<REMOTE_IP>:5037 devices
Eğer cihaz listesi geliyor ise bağlantı başarılıdır. 🙂
2. yönetimimiz ise;
ADB sunucu bilgisini sisteme değişken olarak atamamız gerekmekte;
set ADB_SERVER_SOCKET=<REMOTE_IP>
Daha sonra “adb devices” komutunu çalıştırdığımızda cihaz listesinin gelmesi gerekmektedir.
Ek Bilgi
Bu arada cihazı wifi üzerinden de isterseniz bağlayabilirsiniz. Ama Android 11+ olması gerekmektedir.
Referanslar :
https://appium.io/docs/en/writing-running-appium/caps/
https://developer.android.com/studio/command-line/adb
Yorum Yapın
Etiketler
Son Yazılar
- Uzak sunucuda bulunan android cihaz ile otomasyon
- Mac’ de çoklu Java versiyon yönetimi
- İş yarar docker komutları
- Eski branchlerin git’ den silinmesi
- Kubernetes Süresi Dolmuş Sertifikaları Yenilemek
Son Yorumlar
- Hosting koşuşturması için
- Garanti Sanal Pos Kurulumu, Sorunlar ve Çözümler için
- Visual Studio Toolbox’a component(bileşen) eklenmesi için
- “File is too large for destination file system” hatasını gidermek için
- Php’de UTF-8 Türkçe karakter sorunu ve çözümü için
Bağlantılar
Arşivler
- Kasım 2021
- Eylül 2021
- Ağustos 2021
- Temmuz 2021
- Aralık 2020
- Kasım 2020
- Ekim 2020
- Eylül 2020
- Kasım 2017
- Mayıs 2017
- Mart 2017
- Şubat 2017
- Ocak 2017
- Nisan 2015
- Aralık 2014
- Mayıs 2014
- Eylül 2013
- Haziran 2013
- Şubat 2013
- Kasım 2012
- Ekim 2012
- Eylül 2012
- Mart 2012
- Şubat 2012
- Ocak 2012
- Aralık 2011
- Kasım 2011
- Ekim 2011
- Eylül 2011
- Temmuz 2011
- Haziran 2011
- Mayıs 2011
- Mart 2011
- Ocak 2011
- Aralık 2010
- Kasım 2010
- Ekim 2010
- Eylül 2010
- Ağustos 2010
- Temmuz 2010
- Haziran 2010
- Mayıs 2010
- Nisan 2010
- Mart 2010
- Şubat 2010
- Ocak 2010
- Haziran 2009
- Mayıs 2009
- Nisan 2009
- Mart 2009