Xamarin TestCloud

Tar*_*lok 5 visual-studio xamarin hybrid-mobile-app xamarin-test-cloud

我正在使用Visula Studio for Android和IOS开发Xamarin hybrid(html + js + css)应用程序.客户希望在xamarin testcloud上上传构建(app).他与我分享了网址https://testcloud.xamarin.com/.我是xamarin的新手,所以我不知道Xamarin testcloud.我做了一些研究,发现我们可以在我们的应用程序中编写测试用例,并可以发送到testcloud.因此,据我所知,Xamarin testcloud仅用于应用程序测试,不用于与多个用户或客户端共享构建.我是对还是不对.请让我更多地了解Xamarin云,它有什么用途.

谢谢Tarlok

Eri*_* J. 6

你是部分正确的.

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

为了将应用程序分发给测试用户,您应该使用HockeyApp.HockeyApp最近被微软(来源)收购,并允许您将您的应用程序分发给一组封闭的人以获得反馈(通常用于用户验收测试(UAT)).注意:HockeyApp将很快与Microsofts的Application Insights服务集成,它提供更多功能(对应用程序性能的洞察,使用时间,活动X的时间等)- 请参阅如何设置

简而言之:

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


hva*_*an3 5

正确.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") );
Run Code Online (Sandbox Code Playgroud)

另一个有用的命令是: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.Studio 或安装了 Xamarin 工具的 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)。