Kas
5

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

https://praveendavidmathew.medium.com/appium-running-tests-on-a-device-connected-to-a-remote-system-uiautomator2-cfd64139a35

Yorum Yapın

 

Twitter'dan Takip Et! Twitter'dan Takip Et!

Etiketler

Son Yazılar

Son Yorumlar

Bağlantılar

Arşivler