2013-08-12 21 views
5

Czy ktoś zdołał przekonać Jenkinsa do użycia VM Genymotion, zamiast super slownego emulatora Androida?Jenkins - używaj Genmotion VM zamiast emulatora Androida

Genymotion jest w rzeczywistości szybszy niż prawdziwe urządzenie na moim komputerze, więc byłby idealny do wykonywania testów CI.

Dzięki za wszelkie pomysły.

Simon

+1

Genymotion zachowuje się dokładnie jak proste urządzenie. Si możesz użyć ADB do zarządzania nim. Czy masz konkretny problem w swoim przypadku użycia? –

+0

Znalazłem samouczek, jak zintegrować Genymotion na Jenkins tutaj: http://blog.genymobile.com/genymotion-jenkins-android-testing/ – Christopher

+0

Zobacz ten nowy (oficjalny) artykuł na temat jenkins i genymotion 2.5 http: // www. genymobile.com/genymotion-jenkins-integration/ – Dori

Odpowiedz

4

Jeśli rozpocząć genymotion na serwerze CI i niech to zawsze działa, to będzie działać dobrze. Chociaż jeśli chcesz go obudzić tylko dla twoich testów, a potem zamknąć id, wtedy tak, będziesz tęsknić za niektórymi rzeczami z genymotionem do teraz.

Wtyczka emulatora Jenkins Android była przydatna w tej sprawie i nadal nie ma odpowiednika z genymotionem. Genymotion wciąż nie jest wystarczająco skryptowalny, aby można go było uruchomić na linii poleceń, najlepiej bez głowy.

Niemniej jednak, w naszych projektach w pracy niedawno przełączyliśmy się na genymotion, uruchamiamy "emulator", pozwalamy mu działać zawsze na serwerze CI i wszystko działa dobrze. Naprawdę było warto, skracamy czas budowy o współczynnik 2 i nie napotykamy żadnego problemu z pamięcią, który był tak powszechny w rzeczywistym emulatorze, nawet przy włączonym HAX.

Wtyczka Jenkinsa byłaby mile widziana od Genymotion. Myślę, że już to mają na swojej mapie drogowej.

+1

Możesz dowiedzieć się, jak uruchomić emulator genymotion na linii poleceń [tutaj] (http://stackoverflow.com/q/18396344/693752) – Snicolas

+0

Jak uzyskać Genymotion na początek użytkownik Jenkins? VirtualBox działa tylko dla domyślnego administratora systemu, a nie dla Jenkinsa! –

2

można uruchomić odtwarzacz z już skonfigurowanym przykład tak:

/Applications/Genymotion.app/Contents/MacOS/player --vm-name "Galaxy Nexus - 4.2.2 - API 17 - 720x1280" 

pamiętać, że nie jest bezgłowy.

Aby uzyskać listę skonfigurowanych przypadkach używać VBoxManage:

$ VBoxManage list vms 
"Galaxy Nexus - 4.2.2 - API 17 - 720x1280" {56d8e3aa-ecf8-483e-a450-86c8cdcedd35} 

Można użyć nazwy (w cudzysłowie) lub identyfikator z --vm-name

+0

To nie będzie działać dla zalogowanego użytkownika Jenkins, ponieważ nie ma on dostępu do vm. –

+0

Uważam, że trzeba było trochę manipulować użytkownikami/prawami, ale mieliśmy pracę Jenkinsa pracującą na MacBooku. Nie jestem już związany z tym projektem, więc nie jestem pewien, jaki jest obecny stan, szczególnie przy wszystkich zmianach, które GenyMotion poczynił od zeszłej jesieni. –

+0

Tak, głównym problemem jest to, że Jenkins działa pod własnym kontem użytkownika unix. Konto to zazwyczaj różni się od kont VirtualBox, które użytkownicy MacBook pobierają pod Genymotion. –

0

można użyć wersji x86 emulatora. Genymotion jest w zasadzie emultor emulatora wersji x86, dlatego jest szybszy od emulatora wersji Android.

Powiązane problemy