TF'de cihazlarla çalışma

Trade Federation, test çalıştırmak için ITestDevice adlı bir soyutlama kullanır. Bu soyutlama, en düşük ortak payda Android cihazını nesneleştirir:

  • Seri numarası olmalıdır.
  • Durumu: Online, Kullanılabilir, Kurtarma veya Kullanılamıyor
  • Güvenilirlik hakkında bir fikir vermelidir. Örneğin, bir komutu çalıştırdığımızda komutun henüz bitmediği, cihazın komut çalıştırmayı desteklemediği ve cihazın komutu çalıştırırken yanıt vermediği durumları birbirinden ayırt edebiliriz.

Cihaz sınıfları

ITestDevice'ün üç ana uygulaması, üç yaygın kullanım alanını temsil eder.

Fiziksel cihaz

Bu, TF ana makinesine USB ile veya adb'nin TCP özelliği kullanılarak bağlanan gerçek bir donanım parçasıdır. TestDevice sınıfı, adb için Java arayüzü olan ddmlib kitaplığının üzerinde yer alır. Bu nedenle, adb devices içinde listelenen tüm fiziksel cihazlar örneklendirilebilir ve TestDevice olarak kullanılabilir.

Emülatör

Emülatörler başka bir işlemde bulunduğundan TF tarafından özel olarak ele alınır. Bir emülatörle etkileşim kurmak için komut için --emulator bağımsız değişkenini belirtin. Daha fazla bilgi için LocalSdkBuildProvider ve SdkAvdPreparer'a bakın.

Cihaz seçilmedi

Bir cihazla hiç etkileşime geçmeyen bir testiniz olduğunu varsayalım. Örneğin, bir hizmetten dosya indirip dosyanın geçerli olduğunu doğrulayabilir. NullDevice, yalnızca bir taslak olan bir ITestDevice öğesidir. null-device-N gibi bir seri numarasına sahiptir ve çoğu deneme işlemi sessizce işlem yapmaz veya hata verir.