【问题标题】:What is Xamarin Test Cloud for?Xamarin 测试云有什么用?
【发布时间】:2020-05-19 16:35:31
【问题描述】:

我正在使用 Visual Studio for iOS 开发适用于 Android 的 Xamarin 混合 (html+js+css) 应用程序。

我的客户想要将(应用程序的)构建上传到Xamarin Test Cloud。我是 Xamarin 的新手,所以我对 Xamarin 测试云一无所知。我做了一些研究,发现我们可以在我们的应用程序中编写测试用例并将它们发送到 Xamarin 测试云。

据我所知,Xamarin Test Cloud 仅用于应用测试目的,而不是用于与多个用户或客户端共享 buildAs。我是对还是错?

请让我了解更多关于 Xamarin 测试云的信息,即它的用途。

【问题讨论】:

  • 现在您可以免费试用 Xamarin Test Cloud 1 个月。

标签: visual-studio xamarin testing hybrid-mobile-app xamarin-test-cloud


【解决方案1】:

你说对了一部分。

Xamarin Test Cloud 是一种自动化测试解决方案。您可以在每个平台上运行 UI 测试。这将允许您查看应用程序在许多 android 设备和版本以及不同版本的 iOS 上的执行情况。然而,Xamarin 测试云仅限于 UI 测试(以及基于您的测试场景的崩溃报告)。 Xamarin 测试云无法执行单元测试和集成测试(主要是技术测试)。

为了将应用分发给测试用户,您应该使用 HockeyApp。 HockeyApp 最近被 microsoft (source) 收购,它允许您将您的应用程序分发给一个封闭的人群以获得反馈(通常用于用户验收测试 (UAT))。注意:HockeyApp 将很快与 Microsoft 的 Application Insights 服务集成,它提供更多功能(洞察应用程序的性能、使用时间、查看 Activity X 的时间等)- see how to set this up

简而言之:

  • Xamarin 测试云 - 在数百台设备上进行自动化 UI 测试
  • HockeyApp - 分发用户验收测试
  • Xamarin Insights或 Microsoft Application Insights)- 洞察您的应用在不同级别的使用情况。

【讨论】:

    【解决方案2】:

    正确。 TestCloud 用于同时在数千台设备上运行您的应用程序,以快速了解您的应用程序的行为方式以及它在许多不同设备上的外观,而无需实际购买数千台设备。 与特定用户共享您的应用程序。如果您想与特定用户共享您的应用,您可以使用适用于 iOS 和 Android 的 HockeyApp,也可以使用适用于 iOS 的 TestFlight 和适用于 Android 的 Google Play 商店的 Beta 计划。

    【讨论】:

      【解决方案3】:

      简而言之,Xamarin.Test.Cloud 是用于自动化 UI 测试的云服务。这些 UI 测试可以在 Calabash 和/或 C# NUnit 项目中以单元测试的形式编写。大多数开发人员使用 C# 版本或框架。此 Xamarin 产品称为 Xamarin.UITest,它使用 Xamarin 工具在本地创建并上传到 Xamarin.Test.Cloud。

      更深入...

      大多数开发人员使用的 Xamarin.UITest 基本上是 Viusal Studio 或 Xamarin.Studio 中的 NUnit C# 项目。它加载用户的 apk (Andriod) 或 ipa/app (iOS) 文件并为测试做好一切准备。 测试可能包括:

      1. 探索 UI(检测内容、小部件/视图/控件名称和内容)
      2. 与 UI 交互(点击、滚动)
      3. 记录来自 2. 的交互,以便在自动化测试中使用它们

      https://developer.xamarin.com/guides/testcloud/uitest/

      API 并不复杂,但需要一些 [短] 时间来学习。可能更多的是使用选择器(尤其是在 Xamarin.Forms 中)、后门、手势等技巧。我女儿 15 岁,她正在讨论 Xamarin.UITest,因为它那么简单而且对孩子们很好学习编码并感觉“富有成效”。

      示例交互:

      app.Tap( c => c.Marked("Login") );
      

      另一个有用的命令是:tree - 查看呈现的 UI 的可视化树 (DOM)。

      注意:

      Xamarin.UITest 不仅限于用 Xamarin 编写的应用程序! 它可以与Java编写的Android应用、Objective-C/Swift编写的iOS应用一起使用!

      Xamarin.UITest 对于混合应用程序有所不同,因为 DOM 实际上是 HTML DOM。因此 - 尝试使用 tree 命令探索 DOM。

      使用 Xamarin.UITest 和 nunit runner,您可以在您的设备和/或模拟器/模拟器上进行本地测试。如果我没记错的话,15分钟的限制就会被取消。

      Xamarin.Test.Recorder 是用于探索和记录 Xamarin.UITests 的有用工具。在 Mac 上,这应该是独立的应用程序,而在 Windows 上,您需要 Visual Studio Enterprise(限制)。

      https://developer.xamarin.com/guides/testcloud/testrecorder/

      来自名为 Xamarin.Interactive 的包中的 Xamarin.Inspector 是另一个用于分析和检查应用 UI 的独立工具。

      https://developer.xamarin.com/guides/cross-platform/inspector/

      编写 UI 测试时 - 项目输出 (dll) 被上传到 Xamarin.Test.Cloud。要获得项目输出,您需要安装了 Xamarin 工具的 Xamarin.Studio 或 Visual Studio。

      在上传之前,用户需要执行以下几个步骤:选择设备(数量取决于价格)、获取特定测试的 APIKey。上传是通过命令行完成的...

      https://developer.xamarin.com/guides/testcloud/uitest/working-with/submitting-tests-to-xamarin-test-cloud/

      然后用户转到 XTC (Xamarin.Test.Cloud) 门户并检查结果(报告、屏幕截图等)。

      这就是幕后的样子(这是我在演讲中喜欢展示的):

      https://youtu.be/PQMBCoVIABI?t=3432

      舞台上的丹麦帅哥(不会打手球)和数据中心货架上的 2000 多台设备(2015-09 年是 1900 多台设备)...

      为了分享 - 使用 HockeyApp

      用于监控 - 使用 Xamarin.Insights

      注意:HockeyApp 和 Xamarin.Insight 正在合并为单一产品以进行 beta 测试和监控(类似 TestFlight)。

      【讨论】:

        猜你喜欢
        • 2016-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多