关于Android自动化测试工具AnTest的构思

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

前言:Android自动化测试工具,测试脚本,在网上是很多的,如CTS、UiAutomator、py、shell、bat脚本,包括DDMS和腾讯的APT,以及安全测试工具mercury和Drozer,还有淘宝的太禅(这是一个关于app与web相结合的测试,也就是淘宝app了,其实这个app就是一个浏览器)。虽然可以用的工具很多,但是对于android系统的综合性测试,在测试行业,还没有一个大的集合,可以这么说,散乱的东西太多,我需要一个思路把它们集合起来。于是,这个时候,我思索着构建一个Android AutoTest工具出来。


主要思想:

通过ADB(Android Debug Bridge),利用android原生自带的调试工具和命令,结合手动测试用例,做一个黑盒的android系统的自动化测试工具。当然,为了简单,我得把之前一概的脚本全部都集合都一起去,这样,一个稍微具有完整性的工具就可以出来了。


实现方式:

1、Python:

这是我最喜欢的语言,简单、优雅、自带模块功能丰富,并且不用编译,试想,在计算机处理速度越来越快的大趋势下,运行一个解释器下的工具,能耗费多少资源呢?不过,python的方式还是有着相对应的缺陷。当然,一个东西永远都有着不够完善的一面。下面说说python的优劣势吧

(1)优势:

*语法简单,几乎跟英文相类似,这么简单的语法,加上各种基础模块,简直就是为了实现逻辑而生的高级语言

*功能模块丰富,模块的丰富性,几乎可以让我们随心所欲的做我们想做的事情,操控文件?那是很简单的操作,当然,如果不满足,我们还可以自己编写模块

*解释型语言,解释型,就是边解释边运行,在不用编译的情况下,python会将py文件转换成介于汇编和C之间的形式,再去解释运行,如果脚本更改了,那么它会自动刷新这个文件,这就给我们很多时间来实现我们的想法,不用为编译去浪费太多的时间。

*平台兼容性强,一般市面上所有的操作系统都可以运行python解释器,当然,在你的系统上设置python的环境变量之后,直接点击就可以运行了,多方便。

*面向对象,这个思想的强大,让你的代码几乎无限复用,放弃脚本,将脚本代码复用,不用为编写硬编码去做太多的运行帮助。

(2)劣势:

*运行速度不是很快,如果模块化后,启动时,还是稍许有些慢

*对JAVA的兼容性不是很好,不过也可以用JYTHON,但是那是我下面要说的内容了。

*相当于一个外挂,挂在android设备的外面,中间用ADB做为桥梁,但是ADB这个东西有bug,如果你长时间运行,或者进程过多时,就是崩溃。所以,想想你一千多条用例,跑不下去了怎么办,可以说见仁见智吧(比如CTS还是通过ADB的方式去跑的,那也是2w多条用例,还不是照样跑下来了)

*对于面向过程的人,可能体会不到这个好处,当然,你仅仅用python来编写一个脚本,而不是做一个工具的话,那确实感受不到它的美妙。


2、Jython

这是看了UiAutomator自带的包后,我决定后续再次维护开发的时候,使用它去运行,当然,如果要我去重写一个轮子,那是不最不愿意做的事情,我要做的事情太多,也没有这么多的时间给我去研究,是的,以程序员的角度来说,如果你什么都要会,什么都需要了解清楚再去做事情,效率上反而还不如拿来即用的同事,这正是协同工作和面向对象思想相结合的产物。不过,这个也是为了让我做这个工具下一步的延展,我要在手机上去运行我的工具,那么我想做与UiAutomator相同的操作,那当如何呢?最简单的方式是引用它的包,然后利用它自带的方法去实现了。所以。。。

(1)优势 :

*可以用JAR包,这个是我初步的认识,当然,如果使用过程中,还有新发现,那会继续补充的。

(2)劣势:

*基于jvm,启动速度太慢,monkeyrunner就是这样的,所以,看到了monkeyrunner复杂的方法名和引用,决定重写一个工具的


3、JAVA

基于APK的方式,摈除ADB的缺点,后台运行,服务器处理结果,可行?不过,现在还在学习JAVA语法当中,至于APK的编写。。。后续进行中


Model-Router-Governance-Consent-Boundary-v1.0-原创源码与文档.zip 原创离线工具源码与完整文档,包含可运行示例、README、MIT LICENSE、原创与授权声明、自动化测试、真实运行截图及限制说明。下载解压后按 README 使用,无需外部密钥。仅供学习、研究与工程参考。 立即下载

相关推荐

Sealos一款以 Kubernetes 为内核的云操作系统发行版

Sealos 是一款以 Kubernetes 为内核的云操作系统发行版。它以云原生的方式,抛弃了传统的云计算架构,转向以 Kubernetes 为云内核的新架构,使企业能够像使用个人电脑一样简单地使用云。

antest分配值

有一种方法,通过一些返回主函数没有返回。 比如,我要创建一个函数,读取用户数据的参数是要进入这些数据类型的数据的数量(int,char双,……)。所以我想我要创造一个动态要求的尺寸和类型的数组(用“开关”)。但我怎么能通过数组返回到主函数?其实我想确定我的功能没有“回报”的方式,这将是一个“空白”。 我们不能超载的返回类型的所以这并不能帮我多。 也许一个更好的方法是通过动态数组与

sssdffa的专栏 650

(全新整理)上市公司-企业上下游供应链数据(2001-2024年)

1、资源内容地址:https://blog.csdn.net/2301_78627004/article/details/158808734 2、数据特点:今年全新,手工精心整理,放心引用,数据来自权威,且标注《数据来源》,相对于其他人的控制变量数据准确很多,适合写论文做实证用 ,不会出现数据造假问题 3、适用对象:大学生,本科生,研究生小白可用,容易上手!!! 4、课程引用: 经济学,地理学,城市规划与城市研究,公共政策与管理,社会学,商业与管理 特点:全新整理,手工精心整理,放心引用,数据来自权威,相对于其他人的控制变量数据准确很多,适合写论文做实证用 ,不会出现数据造假问题 适用对象:大学生,本科生,研究生小白可用,容易上手!!! 课程引用: 经济学,地理学,城市规划与城市研究,公共政策与管理,社会学,商业与管理

android盒子自动化测试中的几种方法

android盒子和android手机之间的测试还是有很大的区别的: 比如说,盒子没有触摸屏,操作通过遥控器来完成,很多UI在很多情况下就不考虑clickable的处理效果。盒子没有电池,也就不用去考虑一个系统的耗电究竟要如何来平衡,压力测试,在盒子中,就是老化测试。还有电话,gps(小米的定位功能似乎是通过网络来完成的,但是,试想一下,一个几乎固定不用考虑移动的产品,加了gps功能,那不是等于

g1im2的专栏 5460

Android机顶盒 adb命令模拟遥控器操作

adb shell input keyevent 数字 每个数字与keycode对应表如下: 0 -->  "KEYCODE_UNKNOWN" 1 -->  "KEYCODE_MENU" 2 -->  "KEYCODE_SOFT_RIGHT" 3 -->  "KEYCODE_HOME" 4 -->  "KEYCODE_BACK" 5 -->  "KEYCODE_CALL" 6

安卓开发-顺 的博客 9717

Web安全测试之自动化扫描

1. 为什么要使用自动化漏洞扫描工具? 几乎每个安全测试项目都需要遵循严格的日程 在很短的时间内执行单个应用上的多个测试 尽可能在排期内识别最多漏洞 渗透越来越难, 成本越来越高 以下我们用两款自动化扫描工具Nikto 和Wapiti 来举例说明如果使用。 2. 使用Nikto 扫描 每个测试者的工具库中必定含有的工具就是Nikto,它可能是世界上使用最广泛的自由扫描器。就像它的网站(https://cirt.net/Nikto2)上所说的那样: Nikto 是开源(GPL)的 Web 服务器扫描器,它对

songqinxiaoming的博客 1933

【机械设备故障诊断】一种用于变速条件下铁路车轮踏面擦伤检测的两级自适应调频模态分解方法(Matlab代码实现)

内容概要:本文提出了一种用于变速条件下铁路车轮踏面擦伤检测的两级自适应调频模态分解方法。该方法针对列车在变速运行过程中因转速变化导致的振动信号非平稳性问题,引入调频信号分解技术,通过自适应地调整频率调制参数,有效分离出与踏面擦伤相关的周期性冲击成分。方法首先对原始振动信号进行预处理以抑制噪声干扰,随后采用第一级分解初步提取冲击特征,再通过第二级精细化分解进一步增强故障特征的可辨识性,从而实现对踏面擦伤的精准检测。该方法适用于复杂运行环境下的轨道交通装备状态监测,具备良好的工程应用前景。; 适合人群:从事机械故障诊断、轨道交通安全监测、信号处理及相关领域的研究人员与工程技术人员。; 使用场景及目标:①应用于铁路车辆在变速工况下的轮对健康状态实时监测;②实现对车轮踏面擦伤早期故障的有效识别与诊断,提升运维安全性与效率;③为智能运维系统提供可靠的技术支撑。; 其他说明:该方法基于Matlab平台实现,便于开展算法验证与工程化应用,建议结合实际运行数据进行测试与优化。

10KV变电所.dwg.rar

10KV变电所.dwg.rar

35KV二次图.pdf.rar

35KV二次图.pdf.rar

那些被资深PCB LAYOUT工程师强烈推荐的Cadance快捷键

资深PCB设计工程师强烈推荐,放置路径:D:\Cadence\SPB_16.6\share\pcb\text

《电子系统设计与实践》实验教程.rar

《电子系统设计与实践》实验教程.rar

Video-Generation-Batch-Rollout-Checklist-v1.0-原创源码与文档.zip

原创离线工具源码与完整文档,包含可运行示例、README、MIT LICENSE、原创与授权声明、自动化测试、真实运行截图及限制说明。下载解压后按 README 使用,无需外部密钥。仅供学习、研究与工程参考。

09 底层梁钢筋图.dwg.rar

09 底层梁钢筋图.dwg.rar

OMS-1.0.1.33-PixelAuth-3.0.32.0指纹驱动.zip

开天X5z-G1d指纹驱动

630KVA箱变全套图.dwg.rar

630KVA箱变全套图.dwg.rar

35kV变电站直流图纸.dwg.rar

35kV变电站直流图纸.dwg.rar

上一篇: 关于Android系统ROM的debug-root模式说明
下一篇: 谈android系统分区表对rom的影响
南哥在崛起
博客等级 码龄18年 16粉丝 11原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值