# Device Farmer Cihaz Ekleme İşlemleri
### Android cihaz ekleme işlemleri için gerekli bilgiler: (Yardım Masası)
1. Gelişitirici modunun açık olması gerekmektedir. [Developer Mode Debuging Nasıl Açılacağına İlişikin Makale. ](https://developer.android.com/studio/debug/dev-options#enable)
1.1 Gelistirici seceneklerinde "ADB yetki sınırlandırması var ise devre dışı bırakılır"
1.2 Usb baganti ayarlarindan dosya aktarim olarak seçilir
2. USB Hata ayıklama açılması gerekmektedir. [Bilinmeyen Uygulamalara İzin ver Seçeneği](https://blog.appaloosa.io/en/guides/how-to-install-apps-from-unknown-sources-in-android)
3. Cihazın device ıd bilgileri kopyalanır. [Device ID öğrenmek için gerekli olan uygulama işlem bittikten sonra silinebilir](https://play.google.com/store/apps/details?id=com.redphx.deviceid) veya usb erişimi açık olan linux makinada dmesg | grep -i usb komutu çalıştırılarak SerialNumber(device_id): ######## öğreneblir.
4. Cihaz sunucuya hub bağlanır. Devops ekibi aşağıdaki işlemleri yaptığında cihaza sunucunun mobile cihaza yükleceği uygulama için izin verilir. Tüm sunucu erişimleri onaylanır.
### Android cihaz ekleme işlemleri için gerekli bilgiler: (Devops Test Yönetimi)
1. device_id bilgisi devops test yönetimi ekibine mail atılır.
2. "vi /home/devicefarmer/main.yml" ile dosyayı açıyoruz. Klavyeden i butonuna tıklıyoruz. main.yml en alt satırına ekli olan telefonu yeni cihaz bilgilerini aşağıdaki son eklenen cihazın üzerine 10 adet port artırak main.yml dosyasına yapıştırıyoruz. Esc butonuna tıklıyoruz. :wq komutunu çalıştırak çıkıyoruz.
```
- id: <device_id>
os: <cihaz işletim sistemi>
name: <cihazın adı modeli>
appium_port: 7521 --> 10 artıtılarak kaydedlilir. Örneğin 7531
adb_port: 7522 --> 10 artıtılarak kaydedlilir. Örneğin 7532
connect_port: 7523 --> 10 artıtılarak kaydedlilir. Örneğin 7533
proxy_port: 7524 --> 10 artıtılarak kaydedlilir. Örneğin 7534
min_port: 7525 --> 10 artıtılarak kaydedlilir. Örneğin 7535
max_port: 7530 --> 10 artıtılarak kaydedlilir. Örneğin 7540
```
3. "cp main.yml mcloud-agent/roles/devices/vars/main.yml" komutunu çalıştırarak backup dosyayı kopyalıyoruz.
4. "cd mcloud-agent" ile ilgili dosya dizinine gidiyoruz. "ansible-playbook -i hosts devices.yml -K -vvv" komutunu çalıştırıyoruz. sunucu şifresini isteyecek sunucu şifresini giriyoruz. Çalışmanın bitmesini bekliyoruz.
5. ./zebrunner.sh status diyoruz. Cihaz gelmiş mi kontrol ediyoruz.

7. device-Huawei_ARP29-<#####> sonunda yer alan device_id kopyalanır ve ./zebrunner.sh start <#####> komutu çalışıtırılır.
8. ./zebrunner.sh status diyoruz. Appium: "healthy"; STF: "healthy" olarak görmemiz gerekli eğer görmez isek cihazın erişim bilgilerine erişim izni verilmiş mi kontrol ediyoruz. eğer verilmiş ise 4 adımdan itibaren tekrar uyguluyor cihazı takip ediyoruz.
### iOS Cihaz Ekleme İşlemleri;
1. Mac mini açılır cihaz usb ile macminiye bağlanır. Cihazda cikan bu bilgisayara güveneyim mi? popup una Güven denir erişime izin verilir.
2. Mac mini de xcode açılır açılan xcode de developer hesabının açık olduğu görülür. Preferans->Accounts tıklyarak aşağıdaki bilgiler kontrol edilir.

3. 2. maddede yer alan bilgiler doğru ise aşağıdaki WebDriverAgent projesi açılır.

5. Her yıl tüm ios cihazlar için tekrar yapılması gerekmektedir. Cihaz için gerekli apple developer sertifikası yılda bir defa yenilenmektedir.
6. Eklenecek her cihazın apple developer account'unda yer alan sertifikaya eklenmesi gerekir.