TFS 2018 和 AppCenter 测试
TFS 2018 and AppCenter Test
我是 CI/CD 的新手,在 Internet 上找不到任何有关如何将 AppCenter Test 与 TFS 2018 结合使用的信息。我在 TFS 中有我的 Xamarin 项目,但我想在AppCenter 测试的设备云。
MS 的文档中有几个文档使它看起来是可能的,但对于新手,他们提供了有关如何实现它的零信息。 HERE 就是一个例子。如果您查看顶部,则此文档与 TFS 2018 相关。
在 Azure Pipeline 中,您可以使用 YAML or the classic editor 之一来定义您的管道。但 TFS 2018 尚不支持 YAML 构建。
因此您需要使用经典编辑器将 App Center 测试任务添加到您的管道,然后参考文档中的Arguments定义任务。
以下是我为使其正常工作所做的工作。不知道它是否正确,但是嘿,它有效!
Xamarin.UITest
If you don't do the following step you'll run your tests locally and
nothing will happen, they'll just immediately exit.
首先转到“工具”>“选项”>“测试”>“常规”>“活动解决方案”,然后取消选中 For improved performance, only use test adapters in test assembly folder or as specified in runsettings file
public class AppInitializer
{
public static IApp StartApp(Platform platform)
{
if (platform == Platform.Android)
{
return ConfigureApp.Android
// You may need to adjust the following relative path based on where you created your UITest project
.ApkFile(@"..\..\..\<AppName>\<AppName>.Android\bin\Release\<App Package Name>.apk")
// Uncomment if you are running locally and you want VS to launch/install app
//.PreferIdeSettings()
.StartApp();
}
return ConfigureApp.iOS.StartApp();
}
}
Do not add references to your Android and iOS projects like the MS
docs say. This will lead you down the path of hours of useless troubleshooting
在开发 windows 框上部署您的代理。请遵循以下说明:https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows?view=azure-devops
TFS 2018 配置
- 在 TFS 中单击进入项目的存储库
- 点击"Build and Release"
- 右上角点击“+新建”
- 点击"Continue"
- 向下滚动并单击 "Xamarin.Android"
- 在下一个屏幕上将代理队列设置为您之前创建的任何内容,可能是默认值
我的构建任务列表
- Nuget 工具安装程序
- .NET 核心
- Nuget
- Xamarin.Android
- MSBuild
- Android签约
- 节点工具安装程序
- Nuget
- 应用中心测试
Here are my build steps in detail
Nuget 工具安装程序
- 使用 Nuget
version of nuget to install
: 4.9.3
(这是我注意到我的 VS 使用的)
- 所有其他默认值
.NET 核心
- 命令:
restore
- 项目路径:
**/*.csproj
- 所有其他默认值
Nuget
- 命令:
custom
- 命令和参数:
restore -MsbuildPath "C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild.0\Bin"
- 所有其他默认值
Xamarin.Android
- 项目:
**/*Droid*.csproj
- 目标:(空)
- 输出目录:
$(build.binariesdirectory)$(BuildConfiguration)
- 配置:
$(BuildConfiguration)
- MSBuild:启用
Specify Location
- MSBuild 位置:
C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild.0\Bin
- JDK 选项,JDK 8 x64
- 所有其他默认值
MSBuild
- 项目:(适合这个以匹配您的 uitest 项目):
**/*UITest*.csproj
- MSBuild 版本:最新
- 平台:(空)
- 配置:
$(BuildConfiguration)
- MSBuild 参数:
/p:OutputPath="$(build.binariesdirectory)$(BuildConfiguration)\test-assembly"
- 所有其他默认值
Android签名
- APK 文件:
$(build.binariesdirectory)$(BuildConfiguration)\*.apk
- 检查签署 APK 并输入您的信息
- Jarsigner 参数:
-verbose -sigalg MD5withRSA -digestalg SHA1
- 检查 Zipalign
- Zipalign 位置:(空)
- 所有其他默认值
节点工具安装程序
- 版本规格:(选择您系统上已有的任何版本)
10.11.0
- 所有其他默认值
Note: Prior to the next step create a new variable called
XamarinUITestVer and set the value to whatever value you want to use
for the Xamarin.UITest Nuget package you want to install. In my case
the value I set was: 2.2.7
Nuget
- 命令:
custom
- 命令和参数(参考上面的注释):
install Xamarin.UITest -Version $(XamarinUITestVer) -OutputDirectory "$(Agent.BuildDirectory)\Nuget"
- 所有其他默认值
应用中心测试
- 二进制应用程序文件路径:
$(build.binariesdirectory)$(BuildConfiguration)\*.apk
- 工件目录:
$(Build.ArtifactStagingDirectory)\AppCenterTest
- 检查:“准备测试”
- 测试框架:
Xamarin UI Test
- 构建目录:
$(build.binariesdirectory)$(BuildConfiguration)\test-assembly
- 存储文件:(空)
- 存储密码:(空)
- 密钥别名:(空)
- 密钥密码:(空)
- 测试工具目录:
$(Agent.BuildDirectory)\Nuget\Xamarin.UITest.$(XamarinUITestVer)\tools\
- 签名信息:(空)
- 其他选项:(空)
- 检查:
Run Tests
- 身份验证方法:
App Center Connection
- App Center 连接:(创建新连接)
- App Slug:通过 "almost" 在 AppCenter 中创建测试来获取。从您在 AppCenter 中的应用创建
New Test Run
、select 设备、select Next
并选择 Xamarin.UITest
并点击 Next
。在下方您会看到 --app
字符串,这就是您在该字段中使用的字符串。
- 设备:通过 "almost" 在 AppCenter 中创建测试来获取。从您在 AppCenter 中的应用创建
New Test Run
、select 设备、select Next
并选择 Xamarin.UITest
并点击 Next
。在下方您会看到 --devices
字符串,这就是您在该字段中使用的字符串。
- 所有其他默认值
我是 CI/CD 的新手,在 Internet 上找不到任何有关如何将 AppCenter Test 与 TFS 2018 结合使用的信息。我在 TFS 中有我的 Xamarin 项目,但我想在AppCenter 测试的设备云。
MS 的文档中有几个文档使它看起来是可能的,但对于新手,他们提供了有关如何实现它的零信息。 HERE 就是一个例子。如果您查看顶部,则此文档与 TFS 2018 相关。
在 Azure Pipeline 中,您可以使用 YAML or the classic editor 之一来定义您的管道。但 TFS 2018 尚不支持 YAML 构建。
因此您需要使用经典编辑器将 App Center 测试任务添加到您的管道,然后参考文档中的Arguments定义任务。
以下是我为使其正常工作所做的工作。不知道它是否正确,但是嘿,它有效!
Xamarin.UITest
If you don't do the following step you'll run your tests locally and nothing will happen, they'll just immediately exit.
首先转到“工具”>“选项”>“测试”>“常规”>“活动解决方案”,然后取消选中 For improved performance, only use test adapters in test assembly folder or as specified in runsettings file
public class AppInitializer
{
public static IApp StartApp(Platform platform)
{
if (platform == Platform.Android)
{
return ConfigureApp.Android
// You may need to adjust the following relative path based on where you created your UITest project
.ApkFile(@"..\..\..\<AppName>\<AppName>.Android\bin\Release\<App Package Name>.apk")
// Uncomment if you are running locally and you want VS to launch/install app
//.PreferIdeSettings()
.StartApp();
}
return ConfigureApp.iOS.StartApp();
}
}
Do not add references to your Android and iOS projects like the MS docs say. This will lead you down the path of hours of useless troubleshooting
在开发 windows 框上部署您的代理。请遵循以下说明:https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows?view=azure-devops
TFS 2018 配置
- 在 TFS 中单击进入项目的存储库
- 点击"Build and Release"
- 右上角点击“+新建”
- 点击"Continue"
- 向下滚动并单击 "Xamarin.Android"
- 在下一个屏幕上将代理队列设置为您之前创建的任何内容,可能是默认值
我的构建任务列表
- Nuget 工具安装程序
- .NET 核心
- Nuget
- Xamarin.Android
- MSBuild
- Android签约
- 节点工具安装程序
- Nuget
- 应用中心测试
Here are my build steps in detail
Nuget 工具安装程序
- 使用 Nuget
version of nuget to install
:4.9.3
(这是我注意到我的 VS 使用的)- 所有其他默认值
.NET 核心
- 命令:
restore
- 项目路径:
**/*.csproj
- 所有其他默认值
Nuget
- 命令:
custom
- 命令和参数:
restore -MsbuildPath "C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild.0\Bin"
- 所有其他默认值
Xamarin.Android
- 项目:
**/*Droid*.csproj
- 目标:(空)
- 输出目录:
$(build.binariesdirectory)$(BuildConfiguration)
- 配置:
$(BuildConfiguration)
- MSBuild:启用
Specify Location
- MSBuild 位置:
C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild.0\Bin
- JDK 选项,JDK 8 x64
- 所有其他默认值
MSBuild
- 项目:(适合这个以匹配您的 uitest 项目):
**/*UITest*.csproj
- MSBuild 版本:最新
- 平台:(空)
- 配置:
$(BuildConfiguration)
- MSBuild 参数:
/p:OutputPath="$(build.binariesdirectory)$(BuildConfiguration)\test-assembly"
- 所有其他默认值
Android签名
- APK 文件:
$(build.binariesdirectory)$(BuildConfiguration)\*.apk
- 检查签署 APK 并输入您的信息
- Jarsigner 参数:
-verbose -sigalg MD5withRSA -digestalg SHA1
- 检查 Zipalign
- Zipalign 位置:(空)
- 所有其他默认值
节点工具安装程序
- 版本规格:(选择您系统上已有的任何版本)
10.11.0
- 所有其他默认值
Note: Prior to the next step create a new variable called XamarinUITestVer and set the value to whatever value you want to use for the Xamarin.UITest Nuget package you want to install. In my case the value I set was:
2.2.7
Nuget
- 命令:
custom
- 命令和参数(参考上面的注释):
install Xamarin.UITest -Version $(XamarinUITestVer) -OutputDirectory "$(Agent.BuildDirectory)\Nuget"
- 所有其他默认值
应用中心测试
- 二进制应用程序文件路径:
$(build.binariesdirectory)$(BuildConfiguration)\*.apk
- 工件目录:
$(Build.ArtifactStagingDirectory)\AppCenterTest
- 检查:“准备测试”
- 测试框架:
Xamarin UI Test
- 构建目录:
$(build.binariesdirectory)$(BuildConfiguration)\test-assembly
- 存储文件:(空)
- 存储密码:(空)
- 密钥别名:(空)
- 密钥密码:(空)
- 测试工具目录:
$(Agent.BuildDirectory)\Nuget\Xamarin.UITest.$(XamarinUITestVer)\tools\
- 签名信息:(空)
- 其他选项:(空)
- 检查:
Run Tests
- 身份验证方法:
App Center Connection
- App Center 连接:(创建新连接)
- App Slug:通过 "almost" 在 AppCenter 中创建测试来获取。从您在 AppCenter 中的应用创建
New Test Run
、select 设备、selectNext
并选择Xamarin.UITest
并点击Next
。在下方您会看到--app
字符串,这就是您在该字段中使用的字符串。 - 设备:通过 "almost" 在 AppCenter 中创建测试来获取。从您在 AppCenter 中的应用创建
New Test Run
、select 设备、selectNext
并选择Xamarin.UITest
并点击Next
。在下方您会看到--devices
字符串,这就是您在该字段中使用的字符串。 - 所有其他默认值