2012-12-10 17 views
5
Ben simultaneosly iki cihaz bir Android Robotium testi yapmak istiyorsunuz

üzerine simultaneosly aynı testi çalıştırın. Ben Java Robotium Android - İki farklı cihazlara

daha kesin olmak gerekirse ... artık herhangi bir çözüm bulamadı, ben uygulamaya test.apk wich birden enstrümantasyon sınıflarını içerir var. Ben aynı testi apk çalıştırmak istiyorum, ancak her iki cihazda farklı test sınıfları. Testleri sadece seri modda, adb ile çalıştırabileceğimi biliyorum.

cevap

4

belirli bir aygıta bir adb komutu işaret etmek s bayrağı kullanabilirsiniz. Bu sadece iki terminali açıp -s bayrak hem farklı komutları çalıştırın kullanarak ve paralel hem çalışma olacak anlamına gelir. Bir daha ölçeklenebilir bir çözüm yapmak için bir komut dosyası içine bu değiştirmek için açıkçası sonra kolaydır. Örnek süresi

...

iki cihazların makine ve iki farklı test sınıfları bağladığınız sen koşma üzerinde (her biri üzerinde bir) çalıştırmak istiyorum:

adb devices 

Eğer

bkz

adb -s SERIALOFDEVICE1 shell am instrument -w -e class com.android.foo.FooTest1 com.android.foo/android.test.InstrumentationTestRunner 

adb -s SERIALOFDEVICE2 shell am instrument -w -e class com.android.foo.FooTest2 com.android.foo/android.test.InstrumentationTestRunner 
:
List of devices attached 
SERIALOFDEVICE1 device1 
SERIALOFDEVICE2 device2 

o zaman o zaman bir komut çalıştırabilirsiniz gösterilen dizileri kullanılarak

com.android.foo.FooTest1 
com.android.foo.FooTest2 

her cihazda çalıştırmak istediğiniz sınıfları misiniz

.

+0

teşekkür ederiz! Çok zarif bir yol tercih ederim, ama bu da işi yapıyor gibi görünüyor. – Test123

+1

Keşke orada olsaydı, aslında onu önerdiğim gibi bir betiğe yerleştirerek daha zarif hale getirebilirsin, mesela senaryoyu çalıştırmak istediğin tüm aygıtları ve tüm ovaları çalıştırabilirsin. ve bunu yap. Bir yan not olarak, yararlı bir cevap bulduğunuzda, bunu yapmak için normal olan şeydir (yukarı ok tuşuna basın). İnsanların kolayca görebilmelerine yardımcı oldu, ya da sorunuza cevap verirse, onaylamak için onay işaretini tıklatırsınız. cevap! –