TeamCity fails to run iOS appium tests when auto-launched

此生再无相见时 提交于 2019-12-12 15:24:54

问题


Description

We are using appium in our cucumber suite within TeamCity 8 on an Apple MacMini running Mavericks. The problem is that appium seems to fail to interact with the iOS Simulator when it is ran from TeamCity at login (via Automator).

The only combination that I have found to work is to run the following from the Terminal in an interactive session:

sh /Applications/buildagent/bin/agent.sh start

What does not work?

  • running agent.sh start from an ssh session
  • creating a shell script with Automator that launches at login (the macmini is set to login automatically)

Theory

My theory is that it has something to do with Preferences -> Security & Privacy -> Accessibility. The only way that it works when launching from Terminal is if Terminal is added to this list of allowed applications. I'm not sure what I need to add to this list in order for this to work automatically at login.

Any help would be greatly appreciated.


回答1:


Many iOS tests will not run without an interactive session. For example, unit tests using the iOS simulator will not work.

Edit: By interactive session, I mean the TeamCity agent must be started from the desktop, not via an SSH session. Otherwise nothing can communicate with the Simulator.




回答2:


You are correct, you need to allow Appium to interact with Automator.

Solutions straight from the documentation:

  • If you're running Appium from an NPM install: sudo authorize_ios

  • If you're running Appium from source: sudo grunt authorize

  • If you are running Appium.app, you can authorize iOS through the GUI. This prompt pops up the first time you click "Launch/Run" on the GUI and it tries to open the simulator



来源:https://stackoverflow.com/questions/21265062/teamcity-fails-to-run-ios-appium-tests-when-auto-launched

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!