2012-05-02 249 views
7

的iOS UIAutomation測試,而現在我一直在試圖找出如何從詹金斯運行UIAutomation測試 - 我每次運行構建時,它建立精細,然後它運行我的儀器命令(使用相同的命令詳述如下(​​3210)和jenkins只是掛起,以及整個機器,當我看着活動監視器,我可以看到一個使用2GB內存的樂器進程運行從詹金斯

當我設置jenkins時,我原來運行它從一個隱藏的用戶 - 這提出了jenkins作爲一個deamon和無法訪問窗口服務器的一些挑戰。然後我決定將jenkins帳戶更改爲普通用戶,登錄並從命令行運行儀器 - 這工作很好..但仍然沒有運氣從仁運行它金穗卡。

我已經設置了詹金斯帳戶作爲開發商 - 沒有管理雖然

請讓我知道是否有其他任何我可以嘗試,或如果有人有這個運行成功您的指導,將不勝感激 - 感謝

+0

你如何運行(即啓動)詹金斯? –

+0

其運行的後臺程序,所以它在啓動時加載 - 如果我需要停止或重新啓動它,我用launchctl命令 – ChrisH

回答

1

因此,如果將它作爲守護進程運行,首先要檢查在前臺運行Jenkins會發生什麼情況。最簡單的方法是使用java -jar jenkins.war [other options]命令(see this document)。

+0

輝煌的感謝 - 確定現在所有正在運行的 - 有一個更優雅的方式來啓動這樣的詹金斯? – ChrisH

+1

我唯一能想到的就是把它放在一個腳本中,並從登錄鉤子運行該腳本。 –

+1

再有就是https://github.com/stisti/jenkins-app – sti

0

也許你可以使用這個https://github.com/houlianpi/robot4ios

然後在詹金斯執行shell:

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/" 

,該報告將自動在./ynmsk-report/test.xml

+0

這聽起來很有趣,將robot4ios管理安裝/拆卸在測試之間呢?我把它的xml輸出與jenkins兼容,以便輸出可以顯示? – ChrisH

+0

是的,所有,robot4ios使用yuitest.so – houlianpi

+1

ynm3k曾在另一個叉https://github.com/douban/ynm3k,取代runTests.sh與test_runner /運行進行了升級。不確定舊項目中的樣本是否仍然可以工作。 – firebear

4

創建詹金斯在OS X進行的launchd腳本開始,將作爲「守護程序」默認情況下。要做的是在啓動的腳本中更改用戶。

首先,讓詹金斯準備關閉(在「管理詹金斯」中的GUI)。

然後從launchd的卸載工作,像這樣:

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

然後在的launchd plist中編輯的「用戶名」屬性,使用它要運行詹金斯用戶。還有一個GroupName屬性,您可能需要/需要根據您的用戶組進行相應調整。

最後,重裝詹金斯有:

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

希望幫助!

+0

這對我來說非常合適。默認情況下,GroupName被設置爲守護進程,這是崩潰的ios模擬器 – maschall

+0

我們遵循此解決方案,它的工作,但有一點要注意 - 看來在更新版本的xcode中,您需要從您的組織中刪除 SessionCreate值.jenkins-ci.plist在這裏查看更多詳情:http://www.cimgf.com/2015/05/26/setting-up-jenkins-ci-on-a-mac-2/ – Daveloper87