无法自动检测Calabash + Jenkins的APP_BUNDLE_PATH

时间:2014-09-30 09:57:25

标签: jenkins calabash-ios

我已经与Jenkins集成了iOS项目。要运行自动化测试用例,我在shell脚本中使用以下代码。

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
export CODESIGN_ALLOCATE=`xcode-select -print-path`/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate 


xcodebuild -alltargets clean
xcodebuild -alltargets
xcodebuild -sdk iphonesimulator \
           -project Myapp.xcodeProj \
           -scheme Myapp-cal \
           ONLY_ACTIVE_ARCH=NO \
           CONFIGURATION_BUILD_DIR="$WORKSPACE/build" \
           clean build
cucumber  

自动化测试在xcode中运行良好,与Jenkins一样,得到以下错误。

  

无法自动检测APP_BUNDLE_PATH。你有没有构建你的应用程序   模拟器?搜索目录:   /用户/测试/资源库/开发/ Xcode中/ DerivedData / MYAPP-fayplezntrxmdqeteknsfkkvtzla /编译/产品   请从Xcode构建您的应用程序您应该构建-cal目标。

帮助表示赞赏

2 个答案:

答案 0 :(得分:4)

我相信您需要做的就是在调用黄瓜之前在脚本中导出APP_BUNDLE_PATH

这样的事情:

export APP_BUNDLE_PATH="${WORKSPACE}/build/Build/Products/Debug-iphonesimulator/Myapp-cal.app"
cucumber

要在野外查看此示例,请参阅briar-ios-example repo。 [1]

FYI / BTW APPAPP_BUNDLE_PATH可以互换。 [2]

答案 1 :(得分:0)

删除/Library/Developer/Xcode/DerivedData的内容并再次编译为我解决了这个问题。我不想硬编码APP_BUNDLE_PATH,因为我有多个目标。

我的错误讯息为Unable to auto detect APP_BUNDLE_PATH.