《手机测试Robotium实战教程》—第1章 1.3节移动端自动化测试工具的选择

简介: 之所以需要选择,是因为可选项太多了,不同的平台,会有很多不同的自动化测试工具供选择,其中既有商业性的收费工具,也有开源免费的自动化测试工具。

本节书摘来自异步社区《手机测试Robotium实战教程》一书中的第1章,第1.节,作者杨志伟,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 移动端自动化测试工具的选择
之所以需要选择,是因为可选项太多了,不同的平台,会有很多不同的自动化测试工具供选择,其中既有商业性的收费工具,也有开源免费的自动化测试工具。

这本书的主题Robotium就是其中一种开源的自动化测试框架,在正式展开前,先看看当下还有哪些在Android测试方面比较常用的测试框架可供选择。

1.3.1 Appium
Appium也是一种自动化测试框架,可以用来测试natvie、hybrid和mobile web APP,Appium最吸引人的一点是,它既支持Android方面的自动化测试,又支持iOS方面的测试。

它还支持使用不同的编程语言编写测试代码,但这种便捷性是以牺牲一部分执行速度换来的,因为这需要额外的转换时间,转换成对应的可操作的底层的测试框架。Appium在Android方面底层使用的测试框架是uiautomator和instrumentation,iOS则使用Apple提供的UIAutomation。明白了这点,也就不奇怪为什么Appium可以支持跨进程地操作iOS的测试了。

Appium经常被“吐槽”的还有一点,就是稳定性还有待提升,但它的这些优点也是很明显的,参与的人越来越多,贡献的力量也就越大,经过一段时间的发展,相信Appium会更加稳定和流行。

读者可以访问Appium的官方网站http://appium.io/,在这里可以获得关于它的一些详细介绍。

国内TesterHome社区也有不少Appium方面的资料和讨论。

1.3.2 uiautomator
uiautomator是Google官方提供的一款自动化测试框架,其主要特点是支持跨进程的操作,这一点极大地方便了对应用外控件的操作。

当然了,uiautomator在提供便捷性的同时,也存在着一些不足,如只支持Android SDK Platform、API 16及以上的。除此之外,它对WebView的支持也不好。

还有一点就是调试很不方便,要调试首先需要在启动的命令行配置好调试项后才能进行,启动后还需在Eclipse中新建Remote Java Application选项,相对来说比较麻烦。虽然也可以通过输出Log的形式来调试,但不如其他工具有插件支持调试方式便捷。

uiautomator的编译运行也比较麻烦,测试代码一有修改,就需要重写、编译产生jar文件,然后还要将jar文件Push到手机指定的目录下才能使用,虽然可以通过批处理文件将这些步骤封装起来,但还是略显麻烦。

想了解更详细的信息,请到它的官方网站,那里可以查看uiautomator的API详细介绍、命令行运行uiautomator的参数及命令解释,以及一些入门的例子。

1.3.3 Robotium
Robotium也是一款开源的自动化测试框架,可以支持native和hybrid的自动化测试,API使用起来简单方便,执行速度也快。

但Robotium有一个比较大的局限性就是不支持跨进程的操作,但也有相应的解决方案,后面章节会介绍到。

Robotium在ADT插件的支持下,可以很简单地在Eclipse下调试运行,这一点比uiautomator便捷多了。

Robotium官方网站的wiki标签下还提供了一些简单易懂、容易上手的示例项目,在这里也可以查看Robotium的API文档,Robotium的方法命名很直观,一般通过方法名就可以知道这个方法所能实现的功能。

最后,Robotium是开源的,托管在GitHub .

它的代码量不大,可以很容易地进行二次开发,然后定制出自己需要的功能。

当然还有其他的自动化测试框架可供选择,如monkey、monkeyrunner、Testdroid(商业)、Eggplant(商业)等,每种工具都有优缺点,关键在于根据产品的特性,选择一款适合的自动化测试工具,不要盲目跟风,合适才是最重要的,当然可以混合使用多种自动化测试工具来克服一些工具本身的局限性,以便得到更好的自动化测试效果。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
4月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
4月前
|
Web App开发 前端开发 JavaScript
Playwright极速UI自动化实战指南
Playwright告别Selenium痛点,以智能等待、强大选择器、网络拦截与多设备模拟四大利器,提升自动化效率与稳定性。本文通过实战代码详解其加速秘籍,助你构建高效、可靠的UI测试方案。
|
3月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
4月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
447 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
3月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
874 5
|
3月前
|
人工智能 搜索推荐 UED
一个牛逼的国产AI自动化工具,开源了 !
AiPy是国产开源AI工具,结合大语言模型与Python,支持本地部署。用户只需用自然语言描述需求,即可自动生成并执行代码,轻松实现数据分析、清洗、可视化等任务,零基础也能玩转编程,被誉为程序员的智能助手。
|
4月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
603 11
|
4月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
230 6
|
3月前
|
人工智能 缓存 自然语言处理
86_自动化提示:AutoPrompt工具
在当今人工智能领域,提示工程(Prompt Engineering)已成为释放大语言模型(LLM)潜能的关键技术。随着LLM规模和能力的不断增长,如何设计高效、精确的提示词成为研究和应用的焦点。然而,传统的手工提示工程面临着巨大挑战
|
4月前
|
安全 搜索推荐 机器人
风险规则引擎-RPA 作为自动化依赖业务决策流程的强大工具
机器人流程自动化(RPA)是一种通过软件“机器人”自动执行重复性任务的技术,能大幅提升工作效率。它适用于财务、电商等领域的标准化流程,如账单处理和退货管理。然而,RPA在复杂决策场景中存在局限,需结合决策模型(DMN)和业务规则管理系统(BRMS)实现流程与决策的协同自动化,从而增强灵活性与业务价值。