简而言之,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) 文件并为测试做好一切准备。
测试可能包括:
- 探索 UI(检测内容、小部件/视图/控件名称和内容)
- 与 UI 交互(点击、滚动)
- 记录来自 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)。