2017-10-04 37 views
1

我有一個項目setuped在詹金斯應該在運行期間打開IOS模擬器,但詹金斯無法打開模擬器。詹金斯無法打開IOS模擬器

詹金斯在jenkins用戶中運行。

下面是什麼項目用途: - Java的行家基於項目 - 運行appium服務器 - appium啓動IOS模擬器 - 這一步失敗,下面的錯誤

[XCUITest] Error: Command 'osascript -e 'tell application "System Events" to count processes whose bundle identifier is "com.apple.iphonesimulator"'' exited with code 1 
    at ChildProcess.<anonymous> (../../lib/teen_process.js:92:19) 
    at emitTwo (events.js:125:13) 
    at ChildProcess.emit (events.js:213:7) 
    at maybeClose (internal/child_process.js:897:16) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:208:5) 
{ Error: Command 'osascript -e 'tell application "System Events" to count processes whose bundle identifier is "com.apple.iphonesimulator"'' exited with code 1 
    at ChildProcess.<anonymous> (../../lib/teen_process.js:92:19) 
    at emitTwo (events.js:125:13) 
    at ChildProcess.emit (events.js:213:7) 
    at maybeClose (internal/child_process.js:897:16) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:208:5) 
    stdout: '', 
    stderr: '36:106: execution error: An error of type -610 has occurred. (-610)\n', 
    code: 1 } 

我嘗試添加詹金斯用戶開發人員組並啓用DevToolsSecurity,但它不起作用。

+0

您的Jenkins配置爲無頭用戶嗎?沒有密碼,bash環境等? –

+1

看起來我們有相同(或至少非常相似)的問題。我將分享我在Appium討論中發佈的主題:https://discuss.appium.io/t/appium-tests-via-jenkins-simulator-not-boot-error-command-osascript-e-tell-application -system-events-to-count-processes-which-bundle-identifier-is-com-apple-iphonesimulator/19038 – Cindy

+0

@KamilSzostakowski它作爲deamon運行。 jenkins用戶是sudoer,它確實需要環境變量 –

回答

0

如果您將Jenkins作爲守護程序運行,它將無法運行GUI應用程序。您必須將其配置爲啓動代理或使用本地從站。

在這裏您可以找到一個complete tutorial

默認情況下,詹金斯作爲守護進程運行。守護進程是一個非交互式的後臺進程,作爲整個系統的一部分運行,不受特定用戶的束縛。守護進程不能與GUI交互。

CI的很大一部分是運行模擬器和其他GUI應用程序,所以我們需要另一個選項。要解決這個問題,您可以將Jenkins更改爲運行Launch Agent。代表用戶在後臺運行啓動代理。

+0

謝謝,會試試看。 –