## 视频
<video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video>
## 导读
在本 FWM202 的后续演示中,您将了解如何使用 亚马逊云科技 Device Farm 测试基于桌面浏览器的应用程序。编写测试规范,针对登录、警报和导航等核心功能实施自动测试。这些测试将验证 Amazon Device Farm 可用浏览器和功能的预期行为。还可以在 [Amazon CodeCatalyst](https://aws.amazon.com/cn/codecatalyst/?trk=cndc-detail) 中测试您的持续集成和持续交付(CI/CD)管道。本次闪电讲座的目标是让您掌握使用设备农场对基于 Web 的应用程序进行自动化和远程访问测试的实用知识。
## 演讲精华
<font color = "grey">以下是小编为您整理的本次演讲的精华,共600字,阅读时间大约是3分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font>
在re:Invent上,Rob Bradley先生首先询问观众是否在周末曾被召唤去解决关键生产问题。根据举手的人数,他指出这种情况不仅会让工程师感到沮丧,还会对整个公司的收入产生影响。他以一个生动的例子说明,如果Amazon.com上的“立即购买”按钮在仅10分钟内出现问题,可能会导致数百万美元的损失。此外,即使短暂的停机也可能破坏多年来建立的顾客信任。
为了预防这些问题,Bradley先生建议采用“将左移”的策略,即在编码过程中更早地进行测试,而不仅仅是发布前的最终检查。他展示了一幅对比图,说明了传统的测试方法和将大量验证工作提前到开发者编写代码时进行的逐步认证之间的区别。数据显示,这种方法可以在早期发现问题,从而整体减少25-50%的努力。
接着,演讲者介绍了亚马逊的CodeCatalyst和云科技Device Farm如何支持这种左移方法。CodeCatalyst提供了统一的开发环境,包括自动化的持续集成/持续部署(CI/CD)管道和直观的可视化工作流程来定位失败。另一方面,Device Farm允许开发人员在真实设备上进行Web和移动应用程序的自动化测试,而无需配置和管理硬件。Bradley先生强调,Device Farm的并行测试功能可以同时运行高达1,000个设备的测试,从而加快测试速度。
最后,他详细解释了如何在GitHub操作中整合CodeCatalyst和Device Farm。这个操作会透明地调用Device Farm进行并行测试,收集生成的报告(如视频)并将其导入到CodeCatalyst IDE中。开发人员无需离开他们的IDE或切换上下文,即可充分利用Device Farm的强大测试功能。
为了展示,Bradley先生提供一个简单待办事项网络应用程序的简要演示。他手动添加了并完成了一系列任务,以展示其用户界面流程。在CodeCatalyst中,他展示了包含14个阶段的发展工作流程图。他强调了用于创建Device Farm项目、在Chrome和Firefox上执行并行测试以及导入包括3个样本测试案和短暂视频的测试报告的方法。这些视频展示了大约用10秒执行的自动UI交互。
接着,Bradley先生展示了演示应用的文件夹结构,包括后端基础设施代码、前端UI、测试和CDK定义文件。特定的测试文件夹使得开发人员能够轻松地在他们偏好的框架中放入新的测试用例。配置文件允许设置测试位置、浏览器、最高4个并发级别以及JUnit报告集成。他还展示了一个使用Selenium通过WebdriverIO与UI编程交互的示例测试规范的例子。
最后,演讲者总结了一些关键收获,如将工作负载提前至50%,采用测试驱动开发方法,消除基础设施开销,利用大规模并行提高效率,避免上下文切换等。通过将Device Farm的自动化测试集成到CodeCatalyst管道中,开发人员能够在统一环境中构建和验证代码,从而缩短内循环测试周期,生成更符合业务需求的高质量应用程序。
总的来说,Bradley先生提出了一种令人信服的观点,即通过将自动化测试工具与当代开发者工作流程相结合来推动工作的提前进行。特别地,CodeCatalyst和Device Farm之间的整合让工程师能够在过程的早期阶段就进行验证,而不破坏他们的IDE体验。这种方法基于测试,旨在生成健壮的应用程序,同时也避免了因测试不足而导致客户信任受损的重大事故。
**下面是一些演讲现场的精彩瞬间:**
领导者向观众们提问,如果他们在周末需要处理一个紧急状况,他们是否会愿意举手响应。
![](https://d1trpeugzwbig5.cloudfront.net/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst/images/rebranded/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst_0.png)
采用切换左的原则,开发人员在提交代码时可以及时进行测试,从而减少了开发和周期时间。
![](https://d1trpeugzwbig5.cloudfront.net/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst/images/rebranded/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst_1.png)
亚马逊的Device Farm服务能够在各种设备上远程测试网络应用,提高测试的覆盖率和质量。
![](https://d1trpeugzwbig5.cloudfront.net/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst/images/rebranded/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst_2.png)
通过CodeCatalyst,开发者提交的代码将触发GitHub操作并在Device Farm中运行测试,然后将测试结果反馈至CodeCatalyst。
![](https://d1trpeugzwbig5.cloudfront.net/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst/images/rebranded/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst_3.png)
在CodeCatalyst中,开发者无需离开平台即可自动创建测试项目。
![](https://d1trpeugzwbig5.cloudfront.net/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst/images/rebranded/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst_4.png)
领导者强调了集中式存储库的重要性,这样开发人员可以在其中共享他们的测试成果。
![](https://d1trpeugzwbig5.cloudfront.net/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst/images/rebranded/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst_5.png)
为了进一步讨论集成问题,演讲者提供了他的LinkedIn个人资料。
![](https://d1trpeugzwbig5.cloudfront.net/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst/images/rebranded/FWM208-Running_AWS_Device_Farm_tests_from_Amazon_CodeCatalyst_6.png)
## 总结
简介:本演讲将探讨[Amazon CodeCatalyst](https://aws.amazon.com/cn/codecatalyst/?trk=cndc-detail)与亚马逊云科技Device Farm的整合,以便在持续集成/持续部署(CI/CD)流程中进行自动化的用户界面(UI)测试。CodeCatalyst提供一个统一的开发环境,而Device Farm则是一种远程网页应用测试服务。
关键要点:
1. 在开发过程中提前进行测试比稍后测试更能减轻工作负担。CodeCatalyst的统一开发环境有助于推动测试驱动型开发。
2. Device Farm负责基础设施的配置,让开发者能专注于编写测试用例。它能高效地在各种浏览器和设备上运行测试。
3. 此整合消除了工具间的上下文切换问题。测试在Device Farm中从CodeCatalyst内部执行,结果将在IDE中检索回来。
结论:通过结合使用CodeCatalyst和Device Farm,开发者能在开发周期的初期实施自动化UI测试,而无需离开他们的IDE。这将为应用程序带来更高的质量,减少工作量,并加速新功能的推出。
## 演讲原文
## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站!
[2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站")
[点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯!
[点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯!
## 即刻注册亚马逊云科技账户,开启云端之旅!
[【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“")
[【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")