首页
/ 告别手动操作:UI-TARS让Android自动化测试像搭积木一样简单

告别手动操作:UI-TARS让Android自动化测试像搭积木一样简单

2026-02-04 04:29:12作者:凌朦慧Richard

你还在为重复的Android应用测试感到头疼吗?还在为编写复杂的自动化脚本而烦恼?本文将带你快速掌握UI-TARS的移动应用自动化能力,无需编程基础也能轻松实现Android应用的自动化操作,让你从此告别繁琐的手动测试,效率提升10倍!

读完本文,你将学会:

  • 如何快速搭建UI-TARS移动自动化环境
  • 使用MOBILE_USE模板创建自动化任务
  • 解析模型输出并生成可执行的自动化脚本
  • 实战演示:自动完成Android应用的登录流程
  • 常见问题解决与高级技巧

什么是UI-TARS?

UI-TARS是一个开源的多模态智能体,基于强大的视觉语言模型构建,能够在虚拟环境中执行各种任务。特别是在移动应用自动化方面,UI-TARS表现出色,在Android World benchmark上达到了64.2的高分,远超之前的SOTA模型。

UI-TARS-1.5版本通过强化学习增强了推理能力,能够在采取行动前进行思考推理,显著提高了性能和适应性。其核心优势在于能够理解GUI界面并生成相应的操作指令,实现真正的端到端自动化。

UI-TARS架构

环境准备:5分钟上手

安装UI-TARS Python包

UI-TARS提供了便捷的Python包,只需一行命令即可完成安装:

pip install ui-tars
# 或使用uv加速安装
uv pip install ui-tars

准备Android测试环境

  1. 安装Android Studio并配置SDK
  2. 启动Android模拟器或连接真实设备
  3. 确保adb调试已启用

详细的部署指南可参考官方部署文档

MOBILE_USE模板:专为移动自动化设计

UI-TARS提供了三种提示模板,其中MOBILE_USE专为移动设备或Android模拟器设计,包含了移动特有的操作指令。

MOBILE_USE主要特性

  • 支持移动特有操作:long_press(长按)、open_app(打开应用)、press_home(Home键)、press_back(返回键)
  • 优化的坐标系统,适配移动设备屏幕
  • 支持滑动、输入、导航等常见移动操作

模板定义位于codes/ui_tars/prompt.py文件中,你可以根据需要进行自定义修改。

实战演示:自动登录Android应用

下面我们通过一个实际案例来演示如何使用UI-TARS实现Android应用的自动登录。

步骤1:准备测试用例

首先,我们需要准备一个包含测试步骤的消息文件。项目中提供了示例文件data/test_messages.json,你可以参考其格式创建自己的测试用例。

步骤2:使用MOBILE_USE模板调用模型

from ui_tars.prompt import get_prompt_template

# 获取MOBILE_USE模板
prompt_template = get_prompt_template("MOBILE_USE")

# 构建测试指令
test_instruction = """
任务:自动登录"示例应用"
步骤:
1. 打开应用
2. 输入用户名:testuser
3. 输入密码:testpass
4. 点击登录按钮
"""

# 生成完整提示
prompt = prompt_template.format(instruction=test_instruction)

步骤3:解析模型输出

模型输出包含思考过程和动作指令,我们需要使用action_parser模块将其解析为结构化数据:

from ui_tars.action_parser import parse_action_to_structure_output

# 假设response是模型返回的字符串
response = """Thought: 我需要先打开应用...
Action: open_app(package_name='com.example.app')
Thought: 现在需要输入用户名...
Action: click(start_box='(300, 400)')
Action: type(text='testuser')
..."""

# 解析响应
original_image_width, original_image_height = 1080, 1920  # 根据设备分辨率调整
parsed_dict = parse_action_to_structure_output(
    response,
    factor=1000,
    origin_resized_height=original_image_height,
    origin_resized_width=original_image_width,
    model_type="qwen25vl"
)

步骤4:生成自动化脚本

解析后的结构化数据可以直接转换为pyautogui脚本:

from ui_tars.action_parser import parsing_response_to_pyautogui_code

# 生成pyautogui代码
pyautogui_code = parsing_response_to_pyautogui_code(
    responses=parsed_dict,
    image_height=original_image_height,
    image_width=original_image_width
)

print(pyautogui_code)

生成的代码将包含完整的自动化步骤,可直接执行或保存为.py文件。

坐标可视化

为了帮助理解坐标处理过程,UI-TARS提供了坐标可视化工具。你可以通过以下代码将模型识别的坐标点绘制在截图上:

from PIL import Image, ImageDraw
import numpy as np
import matplotlib.pyplot as plt

# 加载截图
image = Image.open("screenshot.png")
# 获取解析后的坐标
start_box = parsed_dict[0]["action_inputs"]["start_box"]
coordinates = eval(start_box)
x1 = int(coordinates[0] * original_image_width)
y1 = int(coordinates[1] * original_image_height)

# 绘制坐标点
draw = ImageDraw.Draw(image)
radius = 5
draw.ellipse((x1 - radius, y1 - radius, x1 + radius, y1 + radius), fill="red", outline="red")

# 显示结果
plt.imshow(np.array(image))
plt.axis("off")
plt.show()

更详细的坐标处理指南可参考坐标处理说明

性能对比:UI-TARS vs 传统自动化工具

UI-TARS相比传统的自动化工具(如Appium、Espresso)有哪些优势?让我们通过数据来直观感受:

评估指标 UI-TARS Appium Espresso
学习曲线 低(无需编程)
界面变化适应性 高(视觉理解) 低(依赖元素ID) 低(依赖元素ID)
跨应用兼容性
非标准控件支持
部署复杂度

UI-TARS在Android World benchmark上的表现也证明了其强大的能力:

UI-TARS与其他模型性能对比

常见问题与解决方案

Q: 如何处理不同分辨率的设备?

A: UI-TARS会自动处理坐标缩放,只需在解析时提供原始图像的宽高即可:

parsed_dict = parse_action_to_structure_output(
    response,
    factor=1000,
    origin_resized_height=1920,  # 原始图像高度
    origin_resized_width=1080,   # 原始图像宽度
    model_type="qwen25vl"
)

Q: 模型无法识别某些UI元素怎么办?

A: 可以尝试以下方法:

  1. 提供更高质量的截图
  2. 在提示中更详细地描述元素位置和外观
  3. 使用GROUNDING模板专门优化元素定位

Q: 如何提高自动化脚本的稳定性?

A: 建议:

  1. 在关键步骤之间添加适当的延迟
  2. 增加错误检查和重试机制
  3. 使用更具体的指令描述

总结与展望

UI-TARS为Android应用自动化提供了一种全新的方式,通过视觉理解和自然语言指令,大大降低了自动化测试的门槛。无论是普通用户还是测试工程师,都能快速上手并创建复杂的自动化任务。

随着UI-TARS-2的发布,我们可以期待更多令人兴奋的功能,如增强的GUI理解能力、游戏自动化、代码生成和工具使用等。UI-TARS正朝着"全能智能体"的方向发展,为复杂任务提供无缝的多能力集成。

如果你觉得本文对你有帮助,请点赞、收藏并关注我们,以便获取最新的UI-TARS使用技巧和最佳实践!下期我们将介绍如何使用UI-TARS实现移动应用的自动化测试报告生成,敬请期待!

参考资料

登录后查看全文
热门项目推荐
相关项目推荐