几乎没有任何现代组织会考虑在没有移动应用程序的情况下运作。超过 60% 的企业拥有应用程序或正在开发应用程序。然而,仅仅构建一个应用程序是不够的。您必须在各种性能参数上对其进行测试,以确保它满足性能预期并为用户提供所需的体验。
Appium 是一款移动应用测试自动化工具,可以让应用测试变得简单。让我们来看看 Appium 的性能测试是如何工作的,还有哪些可以使用的免费工具——
移动应用性能测试的好处
移动应用性能测试有很多好处。从增强应用程序的整体性能到使其更强大,并改善用户体验。移动应用程序性能测试允许 -
- 检测功能或并发问题
- 确定支持多少负载
- 衡量为消除风险而要采取的行动
- 确定应用容量以及可以增加多少
Appium 是什么?
Appium 是一个免费的开源工具,可让您自动化本机和混合移动/Web 应用程序。 它使您能够使用相同的 API 针对多个平台(如 iOS、Android 和 Windows)编写测试。
Appium 自动化的工作方式与 Selenium 类似。 Appium 和 Selenium 都是跨平台的测试自动化框架。 唯一的区别是 Selenium 支持主要的桌面浏览器和操作系统,而 Appium 更专注于移动平台。
以下是使用 Appium 进行移动测试自动化的一些原因。
- 免费和开源
- 支持测试桌面和移动的本机和混合应用程序
- 提供对多种编程语言的支持,包括 Python、Java、Ruby 等
- 允许在真实设备、模拟器和模拟器上进行跨平台测试
使用 Appium 进行应用测试的免费工具
有各种免费和开源的库和程序可用于 Appium 的性能测试。以下是一些最好的程序 -
- Tcpdump
tcpdump是一个基于libpcap接口的网络分析器程序和协议分析工具。它在命令行界面下运行,允许您在计算机系统上显示 TCP/IP 等数据包。 tcpdump 是在 BSD 许可下分发的免费软件工具。
该程序可在大多数基于 Unix/Linux 的操作系统下使用。它允许您以 pcap 格式保存捕获的数据包以供将来分析。
此数据包分析器可帮助您跟踪和分析网络流量。因此,在解决和排除网络问题时,它是一个方便的工具。
tcpdump 用于特定应用程序,例如拦截和显示另一台计算机或用户的通信。它还有助于查看充当路由器的用户的帐户凭据,telnet 或 HTTP 等未加密数据通过这些用户。
- Wireshark
Wireshark 是一种开源数据包分析器工具,用于网络分析和故障排除以及软件和通信协议开发。它允许您在本地网络上捕获数据并将其保存以供离线分析。
Wireshark 可以从以下连接收集网络流量:蓝牙、无线、以太网、令牌环和帧中继。
Wireshark 也以 libpcap 格式运行,因此,它可以与 tcpdump、CA NetMaster 和其他使用相同格式的应用程序交换网络跟踪。
Wireshark 的一些显着特点是:
- 从实时网络连接捕获数据
- 从多种网络类型读取实时数据
- 使用 GUI 或终端浏览捕获的数据
- 使用命令行开关编辑或捕获转换后的文件
- 使用显示过滤器优化数据显示
- 创建用于剖析新协议的插件
- 在捕获的流量中检测 VoIP 呼叫
- 捕获原始 USB 流量
- 过滤无线连接
- 分配设置、过滤器和计时器以过滤输出
如果应用程序直接运行而不遵守代理设置,Wireshark 允许移动应用程序了解应用程序使用的网络流量层。通过在网络流量级别而不是代理上工作,可以观察到 http 流量以查找和修复配置问题。
- 高级网络分析
Google 的 Android Profiler 是 Android Studio 3.0 及更高版本中 Android Monitor 工具的替代品。它可以实时洞察应用程序如何使用内存、CPU、电池和网络。它与 Android 5.0 及更高版本(API 级别 21)兼容。
分析是测试移动应用程序性能的一个重要方面。如果应用程序消耗大量电量、响应缓慢或崩溃/冻结,则称其性能不佳。应用分析可帮助您确定您的应用是否消耗了过多的设备资源。
应用分析可帮助您跟踪应用性能的以下组成部分:
- CPU使用率
- 内存消耗
- 电池用量
- 网络使用
- Stetho
Stetho 是一个免费的开源调试库,适用于 Android 应用程序。它使您能够使用 chrome 调试工具对网络流量进行故障排除,使开发人员的调试过程丰富且具有交互性。您还可以使用 dumpapp 工具向应用程序内部添加强大的命令行。
Stetho 提供了无缝的设置和集成过程。 Stetho 的关键特性是:
- Chrome 开发者工具
- 网络巡检
- 数据库检查
- 查看层次结构
- 转储
- Javascript 控制台
- 自定义 dumpapp 插件
- mitmproxy
mitmproxy 是一种开源的交互式 HTTPS 代理,可实现无缝 HTTP 和 HTTPS 通信。
mitmproxy 可用的其他工具是 mitmweb 和 mitmdump。 mitmweb 是 mitmproxy 的基于 Web 的界面,而 mitmdump 是 mitmproxy 的命令行版本。将其视为 HTTP 的 tcpdump。
mitmproxy 的主要特点是:
- 拦截HTTPS和HTTP请求
- 保存 HTTP 对话以供日后分析
- 重放之前 HTTP 响应的客户端 HTTP 对话
- 使用反向代理模式将流量转发到浏览器
- 适用于 Linux 和 macOS 的透明代理模式
- SSL/TLS 认证
- 使用 Python 更改 HTTP 流量
结论
可以使用各种移动应用程序测试工具,其中 Appium 是最受欢迎的工具之一。使用 Appium 进行移动应用性能测试可让您跨移动平台自动进行测试。
您可以使用 Appium 的库和程序来进一步增强您的测试工作。要了解更多信息,请点击这里。