如何在没有硬编码设备ID和apk的路径的情况下运行Xamarin UITests?

时间:2018-01-09 17:04:46

标签: xamarin.uitest

根据Xamarin UI测试文档,我需要这样做:

IApp app = ConfigureApp.Android
.DeviceSerial("0756edf000620ace")
.ApkFile(PathToAPK)
.StartApp();

但是让DeviceSerial和ApkFile像这样硬编码似乎很奇怪。此外,在提交到appcenter.ms时,不需要这两个设置。在我看来,必须有一些方法来外化这些信息,以便您可以在多个设备上运行相同的测试,而无需进入并更改代码。

当然,我可以使用其他一些外部资源,但我真正想要的是能够在运行时指定这些值而无需重新编译

2 个答案:

答案 0 :(得分:1)

我认为您不需要指定" DeviceSerial"。尝试仅使用以下命令启动测试:

IApp app = ConfigureApp.Android
.ApkFile(PathToAPK)
.StartApp();

答案 1 :(得分:0)

在Appiitializer类中为UiTest项目尝试类似的事情:

public static IApp StartApp(Platform platform)
{
  if (platform == Platform.Android)
  {
    return ConfigureApp
           .Android
           .InstalledApp(package_name)
           .StartApp();
  }
  else
  {
    return ConfigureApp
           .iOS
           .InstalledApp(package_name)
           .StartApp();
  }
}

其中 package_name 是应用程序包的名称。您可以从名为 package

的android清单中获取它