我有一个在jenkins中设置的项目,该项目应该在运行期间打开IOS模拟器,但是jenkins无法打开模拟器。
Jenkins在jenkins用户中运行。
以下是项目使用的内容: - 基于Java maven的项目 - 运行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 }
我尝试将jenkins用户添加到开发人员组并启用DevToolsSecurity,但它没有用。
答案 0 :(得分:0)
如果您将Jenkins作为守护程序运行,它将无法运行GUI应用程序。您必须将其配置为启动代理或使用本地从属。
您可以在这里找到complete tutorial。
默认情况下,Jenkins作为守护进程运行。守护程序是一个非交互式后台进程,它作为整个系统的一部分运行,并不依赖于特定用户。守护程序无法与GUI交互。
CI的很大一部分是运行模拟器和其他GUI应用程序,因此我们需要另一个选项。要解决此问题,您可以将Jenkins更改为作为启动代理运行。发起代理代表用户在后台运行。