目录
前言:
背景
思路
验证点
实现了吗?
贴一张图
目前一些已实现的节点
前言:
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

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