App移动端测试工具非常多,首先 区分 Android 和 iOS,以及 harmonyos 平台,每个平台下都有自己的自动化测试工具。自动化工具又区分 调试工具、monkey 工具、UI自动化工具。

本文就来盘点以下,当下主流的app自动化测试工具。

AndroidX Test

AndroidX Test 是一组 Jetpack 库,可让您针对 Android 应用运行测试。AndroidX Test 提供 JUnit4 规则来启动 Activity 并在 JUnit4 测试中与它们交互。它还包含 UI 测试框架,例如 Espresso、UI Automator 和 Robolectric 模拟器。

Robolectric

Robolectric 会模拟 Android 4.1(API 级别 16)或更高版本的运行时环境,并提供由社区维护的虚假对象(称为“影子”)。通过此功能,您可以测试依赖于框架的代码,而无需使用模拟器或模拟对象。Robolectric 支持 Android 平台的以下几个方面:

  • 组件生命周期

  • 事件循环

  • 所有资源

官方文档:https://robolectric.org/

Espresso

Espresso 来编写简洁、美观且可靠的 Android 界面测试。Espresso 适用于编写Android中型测试 和 大型测试。

Espresso 还支持在大型测试中完成以下任务时实现同步:

  • 完成跨应用的进程界限的工作流。仅适用于 Android 8.0(API 级别 26)及更高版本。

  • 跟踪应用中长时间运行的后台操作。

  • 执行设备外测试。

在线文档:https://developer.android.com/training/testing/espresso

UI Automator

UI Automator 是一个 UI 测试框架,适用于跨系统和的跨应用程序功能 UI 测试。它适用于大型测试,把Android和应用当成一个黑盒来测试。

UI Automator 测试框架的主要特性包括:

  • 用于检索状态信息并在目标设备上执行操作的API。

  • 支持跨应用UI测试的API。

在线文档:https://developer.android.com/training/testing/other-components/ui-automator

adb

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。

它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。

  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。

  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

在线文档:https://developer.android.com/studio/command-line/adb

iOS 测试库

XCTest

XCTest 用于iOS 移动应用程序测试,为Xcode项目创建并运行单元测试、性能测试和UI测试。兼容 XCode 5.0+。

XCTest的主要特性:

  • XCTest是一个强大的iOS测试框架,可用于单元测试、性能测试和UI测试

  • 无需安装:Xcode提供了使用XCTest开始移动自动化测试的环境。

  • XCTest提供了对持续集成设施的良好控制

  • XCTest允许用户界面记录和增强。

在线文档:https://developer.apple.com/documentation/xctest

XCUITest

XCUITest 是一个用于执行 iOS 自动化测试的自动化 UI 测试框架。它集成在 XCTest(Apple 的 Xcode 集成测试框架)工具中。

https://developer.apple.com/documentation/xctest/user_interface_tests


iOS db(iOS debug bridge)

faceback idb

idb(iOS Development Bridge)是一个灵活的命令行界面,用于自动化 iOS 模拟器和设备。

官方地址:https://fbidb.io/

go-iOS

go-iOS是 iOS 设备功能的操作系统独立实现。可以使用它运行 UI 测试、启动或终止应用程序、安装应用程序等。

项目地址:https://github.com/danielpaulus/go-ios

sib

sib (Sonic iOS Bridge) 基于usbmuxd的iOS调试工具。

项目地址:https://github.com/SonicCloudOrg/sonic-ios-bridge

项目地址:

tidevice

tidevice(taobao iOS device)工具能够用于与iOS设备进行通信.

项目地址:https://github.com/alibaba/taobao-iphone-device


appium

Appium 是一个开源项目和相关软件生态系统,旨在促进许多应用程序平台的 UI 自动化,包括移动(iOS、Android、Tizen)、浏览器(Chrome、Firefox、Safari)、桌面(macOS、Windows)、电视 (Roku、tvOS、Android TV、三星)等等。

appium

适用于基于 W3C WebDriver 协议构建的各种应用程序的跨平台自动化框架

项目地址:https://github.com/appium/appium

appium inspector

appium inspector 是由appium提供的移动应用程序的GUI检查器,帮助用户查看 app元素属性。

项目地址:https://github.com/appium/appium-inspector

python/java/ruby/c# client

appium 支持基于多种语言编写 appium 自动化测试脚本,为此,appium 推出了不同版本的 client 端口。

python-client: https://github.com/appium/python-client java-client: https://github.com/appium/java-client ruby-client: https://github.com/appium/ruby_lib c#-client: https://github.com/appium/dotnet-client

WebDriverAgent

WebDriverAgent 是适用于 iOS 的 WebDriver 服务器实现,可用于远程控制 iOS 设备。它通过链接XCTest.framework并调用Apple的API直接在设备上执行命令来工作。

该项目由 facebook 开源,目前,facebook已经停止了对该项目的维护,appium fork 了分支,WebDriverAgent在appium得到了很好的持续维护。

项目地址:https://github.com/appium/WebDriverAgent


AirtestProject

AirtestProject是网易游戏推出的自动化测试框架。

airtest

Airtest基于图像识别的跨平台UI自动化测试框架。适用于游戏和应用程序,支持的平台是Windows, Android和iOS。

项目地址:https://github.com/AirtestProject/Airtest

Poco

Poco是一个基于UI控件识别的自动化测试框架。目前支持Unity3D/cocos2dx-/Android原生应用/iOS原生应用/微信applet。在其他引擎中,你也可以通过访问poco-sdk来使用poco。

项目地址:https://github.com/AirtestProject/poco

AirtestIDE

Airtest IDE是一个跨平台的UI自动化测试编辑器,它有内置的Airtest和Poco插件功能,可以让你快速轻松地编写AirtestPoco代码。

下载地址:http://airtest.netease.com/changelog.html

iOS-Tagent

iOS-Tagent是一个基于facebook WebDriverAgent的项目的分支,用于适配 Airtest 支持 iOS App 自动化测试。

项目地址:https://github.com/AirtestProject/iOS-Tagent


openatx

openatx 提供了一组工具来支持移动自动化测试。

uiauotmator2

uiautomator2 是基于 Android 的 UI Automator库实现的 Python测试库。

UI Automator 是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。原理是在手机上运行了一个http rpc服务,将UI Automator中的功能开放出来,然后再将这些http接口封装成Python库。

项目地址:https://github.com/openatx/uiautomator2

facebook-wda / wdapy

facebook-wda 是基于 facebook WebDriverAgent 实现的python 测试库。

由于facebook-wda 存在一些无法修复的历史遗留问题,作者重新创建了 wdapy 项目,希望在这个项目中解决遗留的问题。

项目地址:https://github.com/openatx/facebook-wda 项目地址:https://github.com/openatx/wdapy

注:facebook-wda/wdapy 需要借助 WebDriverAgent 进行自动化测试。

adbutils

adbutils 用于实现 adb 工具的 python 库。adb 是Android 自带命令行工具,adbutils的命令的基础上包了一层,使用户可以通过python语言实现 adb的命令。

maestro

Maestro 是为您的移动应用程序自动化 UI 测试的最简单方法。

Maestro 建立在其前身(Appium、Espresso、UIAutomator、XCTest)的学习基础上。

  • 内置耐剥落性能。UI元素并不总是在你期望的地方,屏幕点击并不总是通过,等等。Maestro接受了移动应用程序和设备的不稳定性,并试图对抗它。

  • 内置的延迟容忍度。不需要在测试中添加sleep()调用。Maestro知道它可能需要时间来加载内容(即通过网络),并自动等待它(但不会超过所需的时间)。

  • 极其快速的迭代。测试是解释的,不需要编译任何东西。Maestro能够持续监视您的测试文件并重新运行它们

官方网站:https://maestro.mobile.dev/


app Monkey 测试工具

fastbot

Fastbot 是一种基于模型的测试工具,用于对 GUI 转换进行建模以发现应用程序稳定性问题。它结合了机器学习和强化学习技术,以更智能的方式帮助发现。

fastbot-android: https://github.com/bytedance/Fastbot_Android

fastbot-iOS: https://github.com/bytedance/Fastbot_iOS

App性能分析工作台

AnyTrace 是一款运行在PC桌面端的、用于线下分析移动端 Android/iOS 应用的性能、测评、专项分析的工具。目前主要提供了App 的性能指标评测、fastbot稳定性压测、内存、CPU、卡顿、启动等专项性能归因分析,以及一些常用的、实用的调试类工具集合。

在线文档:https://www.volcengine.com/docs/6431/82895

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

盘点:App 移动自动化测试工具相关推荐

  1. APP稳定性测试工具monkey

    monkey简介 monkey是一款APP的自动化测试工具,monkey是猴子的意思,所以从原理上说,它的自动化测试就类似猴子一样在软件上乱敲按键,猴子什么都不懂,就爱搞乱,monkey原理也是类似, ...

  2. APP移动端自动化测试工具选型“兵器谱”一览(主流开源工具)

    (下面大多数工具都是开源工具,在github,码云等开源平台都能找到) "测试那点事儿"在看到360旗下的测试团队整理的关于目前APP移动端自动化相关的工具,觉得总结的很到位,对目 ...

  3. 耗时一个星期整理的APP自动化测试工具大全

    在本篇文章中,将给大家推荐14款日常工作中经常用到的测试开发工具神器,涵盖了自动化测试.APP性能测试.稳定性测试.抓包工具等. 一.UI自动化测试工具 1. uiautomator2 openatx ...

  4. App案例实践:一款好用的UI自动化测试工具——Katalon

    今天跟大家分享一款好用的自动化测试工具--Katalon. 以下主要从Katalon介绍.环境准备.真机调试.编写用例.执行用例.关联GIT等几个方面展开描述. Katalon介绍 在百度上搜索Kat ...

  5. 使用自动化测试工具selenium爬虫——爬取艾瑞app获取手机app使用排行

    话不多说,进入正题,我就不说怎么安装selenium.怎么用webdriver了,有人要是不会可以私信我哈.不过我想,这里混的都是大佬,不会比我这种小白程序员差,我也就做个分享而已. 目录 一.导入需 ...

  6. APP自动化测试工具uiautomator2,十分钟迅速掌握

    目录 前言 一.介绍 二.环境部署 三.编写百度贴吧首页脚本 四.uiautomator2和appium运行速度比较 写在最后,给与的建议: 前言 相信很多使用appium做过APP自动化的人都深有感 ...

  7. App自动化测试工具Uiautomator2

    UI Automator是 google 在 Android4.1 版本发布时推出的一款用Java编写的Android UI 自动化测试工具,基于Android Accessibility 服务,Ac ...

  8. 那么多优秀的自动化测试工具,而你只知道Selenium?

    如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成本.这是为什么呢? 在以前,测试人员一般都只需要扮演终端用户,会做手动测试用 ...

  9. axt测试软件,【测试工具】这些APP实用测试工具,不知道你就out了!

    本期,我将给大家介绍14款实用的测试工具,希望能够帮到大家!(建议收藏) UI自动化测试工具 1. uiautomator2 Github地址:https://github.com/openatx/u ...

最新文章

  1. Network simulation using OPNET
  2. STM32F10x_硬件I2C读写EEPROM(标准外设库版本)
  3. ssh中exit命令退出远程服务器_Linux:ssh远程执行命令并自动退出
  4. EFCore动态切换Schema
  5. AMD5470显卡Ubuntu下的U盘的使用
  6. 写给互联网上从业的Web程序员
  7. poto——剧院魅影——phantom of the opera
  8. 【原创】大叔问题定位分享(11)Spark中对大表子查询加limit为什么会报Broadcast超时错误...
  9. 计算机ps一级知识点,2017年计算机等级一级Photoshop常考知识点
  10. 红米AirDots无线蓝牙耳机连接win10笔记本
  11. 优麒麟使用教程第三期:Windows 平台 U 盘启动盘制作(建议收藏)
  12. HTML实例—以一个简单网页为例
  13. 什么笔记本学计算机二级,计算机二级Office
  14. 扭蛋机(bilibili)
  15. 照片太大了怎么改小kb?图片压缩在线处理方法
  16. 语音识别方案 - 联想语音团队多场景实时语音文字转换方案
  17. 阿里云 IoT 企业物联网平台 MQTT 通讯模式
  18. Flutter:从入门到实践
  19. centos安装minikube
  20. 基于matlab语音增强,基于MATLAB的语音增强系统的设计

热门文章

  1. 视频教程-SAP ABAP 开发入门-其他
  2. 优化隔离传感器接口的功率转换
  3. php输出数据类型语句,PHP 常用数据类型
  4. 《28天玩转TensorFlow2》第8天:TensorFlow2构建数据管道—Pandas DataFrame格式
  5. 38、静默活体检测测试及ncnn、mnn部署
  6. 如何合并PDF文件?教你几种超简单的方法
  7. React中遍历数组生成标签
  8. WGS84和ECEF坐标的转换
  9. ROS下多机协同——主从机节点通信
  10. 数据库性能调优的10个方法介绍