测试基础 小弟,最近做了个移动端自动化的小项目,因为要获取运营商的一些参数信息从而有些疑问,希望大家指点下。

austim · 2020年10月23日 · 最后由 austim 回复于 2020年10月23日 · 2370 次阅读

首先我们公司是做通信的,现在需要控制手机进行一些上网操作(如刷视频、下载等),我需要一边上网一遍获取手机上网信息如基站信息、TAC 值、PCI 等。
领导给我提过的思路是通过安卓本身提过的一些接口方法实现https://my.oschina.net/u/2000932/blog/538693

小弟之前学过些 java 但是安卓开发没有学习过,所以就没用她提供的思路(还有一点就是我之前一些操作功能都是用 python 已经做的差不多了)。之后想了想就用了 adb shell 一些命令实现,这里也分享下,
adb shell "dumpsys telephony.registry | grep mServiceState",通过这个命令可以获取一些小区参数等,但是问题又来了部分手机(如华为)有些参数获取不到。

现在这个项目已经结束,感觉自己能力还是有点不足,其实用安卓本身提供的方法就很简单。因自己对安卓开发不是很了解,所以想问下移动端自动化测试是否
能直接调用安卓的一些方法,如果不能是否需要开发对应的 app 或者脚本?

可能描述的有点乱,大家希望大家指点,最近也是刚开始做这方面的自动化测试。

共收到 6 条回复 时间 点赞

ANDROID 操作系统碎片化会导致很多兼容性问题。
1.操作系统层面 6.0 之上需要请求用户权限,否则拿不到是正常的。
2.操作系统版本之间可能底层函数会有区别。
3.各家厂商的 FRAMEWORK 都是自己做的,可能会有小的偏差。
但是我依然无法回答你的问题,怎么测试?有问题我自己点,上线后靠崩溃日志。。。

magicyang 回复

真的很麻烦。各厂家手机各种魔改,许多文件或者方法没有权限访问必须 root,返回参数还不同。 为了考虑兼容性我许多功能直接用 adb 命令实现,像是拨打电话,发送短信等,但是依旧不能彻底解决。 重要的是我们测试的还是不是一个 app,而是目标手机卡在不同手机上的通话上网性能表现,使用传统的 appium 这些 ui 自动化更加不好兼容。

magicyang 回复

所以我就想是否可以直接学习下安卓开发,直接开发一个简单的 app 和脚本来调用原生安卓方法来实现,不知道各位是否以前有过这样的经历。 但。。。。这样成本是否有点高等于又自己做了个产品

austim 回复

我做过 3 年 ANDROID 开发,我做开发的时候基本没摸过底层服务。
试试看呗?但是希望真心不大。
我觉得小朋友,你首先要理解我要测什么?哪些是我们自研的,是需要测试的?然后才是用什么方法。
我多少还知道点通讯。小区切换速度是手机决定的么?这个在核心网,基站不能统计么?

magicyang 回复

我们测试的不是某个 APP,而是检测手机网络实时的一些信息像是 pci\tac\场强这些,具体什么产品因为涉及到保密不方便透露抱歉。看来还是自己太 low

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册