2025年Robotium 自动遍历方案

Robotium 自动遍历方案目录 前言 背景 思路 验证点 实现了吗 贴一张图 目前一些已实现的节点 前言 Robotium 自动遍历方案是一种使用 Robotium 进行自动化测试的方案 可以用于测试应用程序的功能性和性能 背景 项目经常遇到混淆打包 安卓版本兼容带来的崩溃问题 还有少部分代码引起的崩溃问题 人工验证即费时也枯燥

大家好,我是讯享网,很高兴认识大家。

目录

前言:

背景

思路

验证点

实现了吗?

贴一张图

目前一些已实现的节点


前言:

Robotium 自动遍历方案是一种使用 Robotium 进行自动化测试的方案,可以用于测试应用程序的功能性和性能。

背景

项目经常遇到混淆打包、安卓版本兼容带来的崩溃问题,还有少部分代码引起的崩溃问题。

人工验证即费时也枯燥,故琢磨有没办法可以快速的验证这些问题,最重要的是快、最重要的是快、最重要的是快

思路
  • robotium 采用 Instrumentation 进行二次封装,Instrumentation 与被测应用属于同一进程,故 robotium 可以做一些想做的事情,比如启动一个 Activity
  • ios 怎么办?目前我也没思路,希望知道的可以告诉我(Appium 太慢了,先不考虑)
验证点

目前只验证崩溃问题,而且初步只是验证启动 Activity 的崩溃问题,后续增加自动遍历页面所有控件的方法,亦可考虑增加 UI 版本 diff 对比


讯享网

实现了吗?

实现了,亲测有效,只是还没系统的整合在一起。

只要有 Activity 挂了,robotium 就会挂,检测到挂了就导出日志

怎么检测有没挂?

  • python 通过 adb 不定时监控目标应用是否在运行,如果未运行,那么导出日志,查找有没目标应用崩溃日志,有的话,那么肯定挂了
  • 挂了的话,再判断所有页面都遍历完成?没有的话再组装数据,进行下一轮测试

Activity 需要传参才能打开的怎么办?

有办法,源码传什么参数,robotium 就传什么参数过去

无参数的情况

Class <?> LoginClass; LoginClass = Class.forName("Activity路径"); Intent intent = new Intent(getActivity(), LoginClass); getActivity().startActivity(intent); 

讯享网

有参数的情况

讯享网Class <?> GroupMemberClass; GroupMemberClass = Class.forName("Activity路径"); Intent intent = new Intent(getActivity(), GroupMemberClass); intent.putExtra("GroupId", 77); getActivity().startActivity(intent); 

传参怎么管理?

配置文件以 Activity 为节点,通过字典的形式配置好,一劳永逸,后面只需少量改动,如页面变动等等

能有多快?

预测 5 分钟内可完成 Activity 的遍历

贴一张图

目前一些已实现的节点
  • 获取项目所有 Activities
  • 重签名
  • 本项目常用 adb 工具(后面补全,当做一个模块用)
#!/usr/bin/evn python # -*- coding:utf-8 -*- # FileName activities.py # Author: HeyNiu # Created Time: 2016/9/18 """ 获取项目所有Activity """ import re import os import utils.adbtools import utils.consts class Activities(object): def __init__(self, apk_path, manifest_path): """ 初始化 :param apk_path: apk文件路径 :param manifest_path: AndroidManifest.xml 路径 """ self.apk_path = apk_path self.manifest_path = manifest_path self.dump_stream = utils.adbtools.AdbTools().dump_apk(apk_path).readlines() self.manifest_stream = self.__read_file() self.__init_data() def __init_data(self): """ 初始化apk基本信息 :return
小讯
上一篇 2025-03-27 22:04
下一篇 2025-02-13 22:41

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/122526.html