使用Appium进行移动测试自动化的要求之一是在后台启动Appium服务器,以便它可以侦听来自被测移动应用程序的请求。我们可以通过多种方式在后台安装并启动Appium服务器。
从本地计算机运行 Appium 测试时,我们必须在特定端口上启动 Appium 服务器并更新所需的功能以指向本地运行的服务器。但应该有更好的方法来处理这些问题并避免在所需功能上进行额外的工作。幸运的是,像 Bitbar 这样的基于云的应用程序测试平台提供了运行 Appium 客户端和云端的方法。在这篇文章中,我们将比较客户端和云端 Appium,并看到硬币的两面。
客户端与云端 Appium
对于客户端 Appium,我们需要配置所需的功能,以便从本地计算机在 Bitbar 设备云上执行测试。但是,Appium 服务器和真实设备托管在云端。您可以在此处阅读有关客户端 Appium 的更多信息。对于云端Appium,我们必须上传我们的Appium测试,并且不需要配置所需的功能。在云端Appium中,我们会从设备组中进行并行测试和设备选择。该图显示了客户端和云端 Appium 之间的关键区别。
客户端与云端执行 bitbar
这里有一个很棒的幻灯片分享文档,解释了客户端和云端 Appium 之间的区别。
客户端 Appium 的优点
无论哪种方式,Appium 执行都将实现验证定义的测试步骤的最终目标。我们先来看看客户端Appium的一些优点。
本地和云执行
Appium 客户端执行的关键优势之一是能够从开发人员的本地计算机启动测试。这将允许直接从开发人员的机器快速测试正在开发的新功能。我们可以通过将 Appium 服务器地址从本地计算机更新到 Bitbar hub 来触发真实设备上的 Appium 测试。这将使我们能够从任何机器上进行测试运行。
能够配置所选设备
通过客户端 Appium,开发人员和测试人员可以配置自己选择的设备,因为客户端执行使我们能够从代码中配置所需的功能和设备。
本地测试结果上传至云端
使用客户端 Appium,一旦测试套件执行完成,您可以直接从 Bitbar 访问测试的视频录制。此外,您可以将 .xml 文件上传到 Bitbar,并以更易读的方式查看测试步骤。
客户端 Appium 的缺点
在很多方面,客户端 Appium 可以帮助团队在项目的早期阶段开始使用 Appium 测试自动化。然而,客户端 Appium 有一些可能被忽视的关键缺点,并且可能会产生重大的负面影响。
片状测试
客户端Appium允许开发人员从本地机器启动Appium服务器,因此测试脚本需要在本地Appium实例和设备之间建立连接。由于测试非常依赖于与本地计算机的网络连接,因此它们可能会变得非常不稳定。不稳定的测试可能会导致开发人员失去信任并浪费时间。
缓慢的测试
使用客户端Appium时,本地机器和云端设备之间必须有连接。所有测试文件都需要通过互联网传输到目标设备进行测试执行,测试完成后,测试结果也会通过HTTP发送回本地机器。这实际上不是一种敏捷方法,因为测试文件和结果的传输取决于互联网连接的速度。
当网速受到影响时,整个团队可能会等待测试结果,而不是获得即时反馈。一般来说,缓慢会影响团队的生产力并浪费时间。
对所需能力的额外工作
所需的功能是发送到 Appium 服务器的一组键和值,并通知服务器有关自动化会话的配置。在客户端运行 Appium 测试时,您需要配置这些所需的功能,以便测试可以在 Bitbar 上执行。
当您想要在云端的特定设备上执行 Appium 测试或将目标设备从 Android 更改为 iOS 时,您需要编辑一些所需的功能,以使测试每次都能成功执行。
无并行性 - 一次一台设备
由于客户端 Appium 的性质,最显着的缺点之一是团队 一次只能在一台设备上执行测试 ,除非您可以拥有多个终端/虚拟机来并行连接到云中的设备。
如果您运行 Appium 测试只是为了验证新测试是否适用于任何单个设备,这听起来可能没问题,但当您想使用客户端 Appium 在大量真实设备上运行这些测试时,这无疑会适得其反。
云端Appium的优点
作为默认的测试执行方式,客户端Appium虽然有其优点,但缺点也相当明显。还有一种更好的方法,那就是云端 Appium。
零配置
与客户端 Appium 不同,我们必须不断配置目标设备所需的功能才能执行测试,而使用云端 Appium 则不需要这样做。测试脚本准备就绪后,只需在 Bitbar 上选择要运行测试的设备即可。剩下的就由平台来处理。这减少了配置的麻烦和配置中潜在的错误。
并行测试
通过云端Appium,我们可以同时在数百台真实设备上并行执行测试。运行并行测试所需的所有配置都将由 Bitbar 在幕后处理。Appium 服务器在后台启动并连接到选定的目标设备以进行并行执行。
更快、更稳定的测试
如上所述,客户端 Appium 测试不稳定的主要原因之一是所有测试文件和结果都需要经过多层网络。云端Appium则不然,所有测试文件都会先上传到Bitbar,然后测试在服务器上执行。它比客户端执行方法要快得多,可以获得更可靠的测试结果。
监控
通过云端Appium,测试的监控变得轻松,我们可以实时看到测试执行情况并快速获取测试结果的截图。
云端 Appium 的缺点
云端Appium并没有太多的缺点。一个可能的缺点可能是:
难以与其他本地系统集成
云端 Appium 的唯一潜在缺点可能是,如果您将测试与其他本地系统集成,则很难在服务器端触发测试执行并在本地计算机上触发以下任务。