2013-08-12 15 views
5

Hat es jemand geschafft, Jenkins dazu zu bringen, die Genymotion android VM anstelle des super-langsamen Android-Emulators zu benutzen?Jenkins - Benutze Genymotion VM anstelle von Android Emulator

Das Genymotion ist eigentlich schneller als ein echtes Gerät auf meinem Rechner, also wäre es ideal für CI-Tests.

Danke für irgendwelche Ideen.

Simon

+1

Genymotion verhält sich genau wie ein einfaches Gerät. Si können Sie ADB verwenden, um es zu verwalten. Haben Sie ein präzises Problem in Ihrem Anwendungsfall? –

+0

Ich fand eine Anleitung, wie Genymotion auf Jenkins hier zu integrieren: http://blog.genymobile.com/genymotion-jenkins-android-testing/ – Christopher

+0

Siehe diesen neuen (offiziellen) Artikel in Bezug auf Jenkins und Genymotion 2.5 http: // www. genymobile.com/genymotion-jenkins-integration/ – Dori

Antwort

4

Wenn Sie die genymotion auf dem CI-Server zu starten und lassen Sie es immer läuft, dann wird es gut funktionieren. Obwohl, wenn du es nur für deine Tests aufwecken willst, und nachher die ID herunterschalten willst, dann wirst du mit Genymotion bis jetzt ein paar Dinge verpassen.

Das Jenkins Android Emulator Plugin war in dieser Angelegenheit nützlich und es gibt noch kein Äquivalent mit genymotion. Genymotion ist immer noch nicht skriptfähig genug, um auf der Kommandozeile ausgeführt zu werden, im Idealfall kopflos.

Nichtsdestotrotz sind wir bei unseren Projekten vor kurzem auf Genymotion umgestiegen, haben einen "Emulator" gestartet, lassen ihn immer auf dem CI-Server laufen und alles funktioniert einwandfrei. Und es hat sich wirklich gelohnt. Wir haben unsere Build-Zeiten um den Faktor 2 verkürzt und es gibt kein Memory-Problem, das auf dem echten Emulator so häufig vorkommt, selbst wenn HAX aktiviert ist.

Ein Jenkins-Plugin wäre von Genymotion willkommen. Ich denke, sie haben es bereits auf ihrer Roadmap.

+1

Sie können finden, wie man den gnymotion Emulator auf der Befehlszeile [hier] startet (http://stackoverflow.com/q/18396344/693752) – Snicolas

+0

Wie bekommen Sie Genymotion zu beginnen mit der Jenkins-Benutzer? VirtualBox funktioniert nur für den Standard-Systemadministrator, nicht für Jenkins! –

2

Sie können einen Spieler mit einer bereits konfigurierten Instanz wie folgt beginnen:

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

Beachten Sie, dass es nicht kopflos ist.

die Liste der konfigurierten Instanzen erhalten verwenden VBoxManage:

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

Sie entweder den Namen (in Anführungszeichen) oder die ID mit --vm-name

+0

Dies funktioniert nicht für den Jenkins angemeldeten Benutzer, da er keinen Zugriff auf die VMs hat. –

+0

Ich glaube, es hat einige Manipulationen von Benutzern/Rechten nötig gemacht, aber wir hatten einen Jenkins-Job, der an einem MacBook arbeitete. Ich bin nicht länger mit dem Projekt verbunden, von dem ich kam, daher bin ich mir nicht sicher, was der aktuelle Stand ist, insbesondere mit all den Veränderungen, die GenyMotion seit dem letzten Herbst gemacht hat. –

+0

Ja, das Hauptproblem ist, dass Jenkins unter seinem eigenen Unix-Benutzerkonto läuft. Dieses Konto unterscheidet sich normalerweise von VirtualBox-Konten, unter denen MacBook-Benutzer Genymotion herunterladen. –

0

verwenden, können Sie x86-Version des Emulators verwenden können. Genymotion ist im Grunde eine x86-Version Emulator, deshalb ist es schneller als Android Arm Version Emulator.

Verwandte Themen