我有一个使用Xcode在ObjectiveC中构建的iOS应用程序,和一个使用Xamarin.UITest用C#编写的UITest的UITest,并且我试图在BitRise中创建一个持续集成工作流。

我如何创建一个BitRise工作流程来构建iOS应用,构建UITest然后将输出提交到Xamarin Test Cloud?

最佳答案

BitRise尚无官方支持的步骤。

但是好消息是BitRise允许您使用脚本创建自己的步骤!

这是我们可以创建自己的步骤来完成此操作的方法!

叠放

使用Xamarin稳定堆栈
ios - BitRise:如何将UITests部署到Xamarin Test Cloud for Xcode进行的iOS应用和C#编写的UI测试(Xamarin.UITest)-LMLPHP

工作流程

添加这些步骤以添加到您的工作流程
ios - BitRise:如何将UITests部署到Xamarin Test Cloud for Xcode进行的iOS应用和C#编写的UI测试(Xamarin.UITest)-LMLPHP

剧本

构建UITest

#!/bin/bash
# fail if any commands fails
set -e
# debug log
set -x

# write your script here
SOLUTION_FILE=`find . -name YOUR_UITEST_SOLUTION_FILENAME.sln`

"/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" "build" $SOLUTION_FILE "-c:Debug" "-p:YOUR_UITEST_PROJECT_NAME"

envman add --key ASSEMBLY_DIR --value "/Users/vagrant/git/FOLDER_PATH_TO_YOUR_UITEST_PROJECT/bin/Debug"

提交给XTC
#!/bin/bash
# fail if any commands fails
set -e
# debug log
set -x

# write your script here
MONO="/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono"
TEST_CLOUD=`find . -name test-cloud.exe`
UITestDll=`find . -name Xamarin.UITest.dll`

cp -f $UITestDll $ASSEMBLY_DIR

$MONO $TEST_CLOUD submit $BITRISE_IPA_PATH $TestCloudAPIKey --series "master" --locale "en_US" --user $TestCloudUserName --assembly-dir $ASSEMBLY_DIR --devices $TestCloudDeviceKey --async-json

我已经向BitRise团队提出了一项功能请求:
https://github.com/bitrise-io/bitrise.io/issues/95

10-07 18:39