栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【Framework测试】Android Framework测试记录三:Android instrumentation的封装,类似CTS的自动化框架

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Framework测试】Android Framework测试记录三:Android instrumentation的封装,类似CTS的自动化框架

【framework测试】Android framework测试记录三:Android instrumentation的封装,类似CTS的自动化框架
  • (持续更新中!!!)
  • 1. Instrumentation介绍
  • 2. 框架设计思路(本地执行版本)
  • 3. 框架设计部件说明
    • 3.1 配置

(持续更新中!!!) 1. Instrumentation介绍

Google的介绍:使用命令行运行测试

当您使用 Android 调试桥 (adb) 从命令行运行测试时,您可以获得比任何其他方法更多的选项来选择要运行的测试。您可以选择单独的测试方法,根据测试注解筛选测试,或指定测试选项。由于测试任务完全由命令行控制,因此您可以通过各种方式使用 Shell 脚本自定义测试。

要通过命令行运行测试,请运行 adb shell 以在设备或模拟器上启动命令行 shell,然后在 shell 中运行 am instrument 命令。您可以使用命令行标志控制 am 和您的测试。

2. 框架设计思路(本地执行版本) 3. 框架设计部件说明 3.1 配置

此处的配置表示的是所要执行的脚本声明。存储在xml文件中(conf.xml),框架内存在解析此文件的函数(read_task)

conf.xml


	
    
    	
        
    
    
         

解析函数:read_task

def read_task():
    device = "aaa"
    config_path = "./conf.xml"
    try:
        _msg = {'device': device, 'target_class': [], 'target_method': []}
        tree = ET.parse(config_path)
        root = tree.getroot()

        elements = [element for element in root.iter('class')]
        for no, element in enumerate(elements):
            temp_method = []
            methods = [method for method in element.iter('method')]
            if methods:
                temp_method = [i.attrib['name'] for i in methods]
            _msg['target_class'].append(element.attrib['name'])
            _msg['target_method'].append(temp_method)
        return _msg
    except Exception as e:
        log.logger.error("Parse Config file fail - {0}".format(repr(e)))

输出为(此输出格式将被用于后面执行逻辑):

{'device': 'aaa', 'target_class': ['com.xx.fwtest.test123.test123', 'com.xx.fwtest.test123.test1234'], 'target_method': [['testcase_1', 'testcase_2'], []]}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309153.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号