CTS分析思路

news/2025/3/28 20:16:58/

目录

原理简介:

Cts测试原理:

CTS报告与日志目录

CTS报告目录如下​编辑

log查看

举例


原理简介:

Cts环境搭建和测试方法,大家可以自行查询网上资料。

Cts测试原理:

输入命令后,会安装一系列的测试apk到盒子中,apk中会有很多断言,若这些断言失败就会报错。

如:

CTS报告与日志目录

CTS报告目录如下

test_result_failures_suite.html 中会记录所有的fail项。

我们只用关注failed项即可,Assumption Failure 不管。

往下翻,会看到相对详细点的错误。

log查看

跑cts时,同时会有个log文件,里面的目录如下:

一般log要在host_log_******.txt.gz 中找

此时你需要向测试要其使用的测试套件(主要那些apk与jar等,一般测试类和测试套件中的apk或jar同名,如果是apk需要先把apk反编译成jar)

如果你是在window下,可以用git 命令窗口去搜索:

接着用jd-gui.jar 去打开这个jar,上面说136行出错,可以看到是assertTrue(0 < b.getEstimatedBatteryCapacityMah()); 失败。如下

接着就得去查看getEstimatedBatteryCapacityMah是啥了。我用dumpsys battery查看这个结果是1000,不知道为何这里会失败。就让测试再去测试了。

假如你觉得这样分析jar不方便,可以查源码cts目录下的代码或在AOSPXRef 上搜索,不过其与测试套件里面真正的代码可能会有些许区别。

到这就是cts问题分析的一个大致流程了。

举例

接下来我们看一个GTS的经典例子:

看到上面的错误行,我最开始以为应该去查看runTest里面的内容。

但实际上应该根据UsageStatsHostTest.testInstantApp 方法里面的runTest内容,去查UsageStatsTest 的testInstantApp方法才对。

而在log的上面几行已经有相关提示:


http://www.ppmy.cn/news/1191630.html

相关文章

移动路由器Cellular Router命令执行漏洞复现 [附POC]

文章目录 移动路由器Cellular Router命令执行漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 移动路由器Cellular Router命令执行漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a;请勿利用文章…

怎样更有效的运营Etsy店铺?

大家都知道&#xff0c;Etsy作为一个重要的电商平台&#xff0c;给很多人提供了不少机会。但是如何取得etsy店铺运营的成功呢&#xff1f;第一步就是选好辅助工具。 什么是指纹浏览器&#xff1f; VMLogin指纹浏览器(www.vmlogin.com.cn) 是一种工具&#xff0c;通过伪装用户…

下载树莓派对应的64位Ubuntu系统步骤

说点废话&#xff1a;因为ros2需要安装在64位Ubuntu上面&#xff0c;所以安装64位最合适&#xff1b; 第一步打开https://cn.ubuntu.com/ 网站&#xff1b;选择下载--->iot----> 选择这个镜像文件下载。我觉得镜像文件是img格式的&#xff0c;跟iso文件区别是&#xff…

SSRF 篇

一、SSRF 漏洞 1、漏洞概述&#xff1a; 服务器端请求伪造&#xff0c;是一种由攻击者构造请求&#xff0c;由服务端发起请求的安全漏洞&#xff0c;一般情况下&#xff0c;SSRF 攻击的目标是外网无法访问的内部系统(正因为请求是由服务端发起的&#xff0c;所以服务端能请求到…

Spring MVC 的责任链模式

Spring MVC 框架使用了责任链模式来处理HTTP请求的流程。这个责任链模式主要包括多个拦截器&#xff08;Interceptor&#xff09;以及处理器&#xff08;Handler&#xff09;&#xff0c;它们协同工作以完成请求的处理和响应。以下是Spring MVC的责任链模式的工作原理和流程图&…

【Rust日报】2023-10-31 RustyDHCP - 轻量级且简约的 DHCP 服务器

RustyDHCP - 轻量简约的 DHCP 服务器 RustyDHCP 是一个轻量简约的 DHCP 服务器&#xff0c;无 unsafe 代码&#xff0c;有如下特点&#xff1a; 无外部依赖&#xff0c;仅需 Rust易于使用和配置快速高效支持跨平台自定义租约文件&#xff1a;支持定义永久租约的"leases&qu…

【并发编程】Java线程常见方法的使用

本文主要讲解了以下几个内容&#xff0c;分别为&#xff1a; 方法API清单 start 与 run sleep 与 yield join 方法 interrupt 方法 一、方法API清单 方法名static功能说明注意start()启动一个新线程&#xff0c;在新的线程运行 run 方法中的代码启动一个新线程&#xff0c;在新…

python脚本-探查存活主机

python脚本-探查存活主机 代码 from scapy.all import * import logging logging.getLogger("scapy.runtime").setLevel(logging.ERROR) net"10.9.47." # 此处修改目标网段 for host in range(1,255):ipf"{net}{host}"# print(f"[-]Trin…