2012-05-02 11 views
7

na chwilę się starałem, aby dowiedzieć się, jak uruchomić testy UIAutomation od Jenkins - za każdym razem uruchomić kompilacji, buduje w porządku, następnie uruchamia polecenie mojego sprzętu (przy użyciu tego samego Polecenie, jak tutaj opisano (Can Instruments be used using the command line?) i jenkins po prostu się zawiesza, no cóż, cała maszyna to robi, a kiedy patrzę na monitor aktywności, widzę proces instrumentów z użyciem 2 GB pamięci. od ukryty użytkownik. - to przedstawione pewne wyzwania z Jenkins będąc deamon i nie jest w stanie uzyskać dostęp do serwera okno i wtedy postanowił zmienić rachunek Jenkins do normalnego użytkownika, zalogować się i pobiegł instrumenty z linii poleceń - to działało w porządku ... ale wciąż nie miał szczęścia w prowadzeniu go od jena Kins.przebiegu testów iOS UIAutomation od Jenkins

mam ustawić Jenkins konto jako programista - nie ma admina chociaż

Proszę dać mi znać, jeśli jest coś innego, co mógłbym spróbować, czy ktoś ma ten działa udany Twój wskazówki będą mile widziane - Dzięki

+0

Jak uruchomić (tj uruchomienie) Jenkins? –

+0

Działa jako demon, więc ładuje się przy starcie - jeśli muszę go zatrzymać lub uruchomić ponownie, używam launchctl – ChrisH

Odpowiedz

1

Więc jeśli uruchomisz go jako demona, najpierw sprawdź, co się stanie, jeśli uruchomisz Jenkinsa na pierwszym planie. Najprostszym sposobem jest wykonanie polecenia java -jar jenkins.war [other options] (see this document).

+0

Wspaniałe dzięki - wszystko działa już dobrze - czy istnieje bardziej elegancki sposób na rozpoczęcie takich jenkins? – ChrisH

+1

Jedyne, o czym mogę pomyśleć, to umieścić go w skrypcie i uruchomić ten skrypt z haka logowania. –

+1

Następnie jest https://github.com/stisti/jenkins-app – sti

0

Być może można użyć tego https://github.com/houlianpi/robot4ios.

Następnie w Jenkins wykonać powłokę:

sh setup.sh 
sh runTests.sh ./sample/alltests.js "/Users/komejun/Library/Application Support/iPhone Simulator/5.0/Applications/1622F505-8C07-47E0-B0F0-3A125A88B329/Recipes.app/" 

a raport zostanie automatycznie utworzyć w ./ynmsk-report/test.xml

+0

To brzmi interesująco, czy robot4ios zarządza ustawieniami/przestojami między testami też? Rozumiem, że wyjście xml jest kompatybilne z Jenkinsami, aby można było wyświetlić wyjście? – ChrisH

+0

tak, wszystkie, robot4ios używać yuitest.so – houlianpi

+1

ynm3k został uaktualniony w innym widelec https://github.com/douban/ynm3k, który zastąpił runTests.sh z test_runner/run.Nie jestem pewien, czy próbka ze starego projektu mogła nadal działać. – firebear

4

Jenkins na OS X jest uruchamiany ze skryptu launchd i będzie działać jako „demon” domyślnie. Rzeczą do zrobienia jest zmiana użytkownika w uruchomionym skrypcie.

Najpierw dostać Jenkins gotowy do zamykania (w "Manage Jenkins" w GUI).

Następnie rozładować pracę z launchd, tak:

$ sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist 

Następnie edycji „username” własność w plist launchd korzystając użytkownikowi, który chcesz uruchomić Jenkins. Istnieje również właściwość GroupName, którą możesz chcieć/trzeba dostosować odpowiednio do grupy użytkownika.

Wreszcie przeładować Jenkins z:

$ sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist 

nadzieję, że pomoże!

+0

To zadziałało idealnie dla mnie. Domyślnie nazwa_grupy była ustawiona na demona, a to powodowało awarię symulatora ios. – maschall

+0

Postępowaliśmy zgodnie z tym rozwiązaniem i działało, ale należy pamiętać - wygląda na to, że w nowszych wersjach kodu xcode należy usunąć wartość SessionCreate i ze swojego org. .jenkins-ci.plist zobacz tutaj, aby uzyskać więcej informacji: http://www.cimgf.com/2015/05/26/setting-up-jenkins-ci-on-a-mac-2/ – Daveloper87

Powiązane problemy