移动测试基础 一键安装

opentest-oper@360.cn · 2018年05月22日 · 最后由 opentest-oper@360.cn 回复于 2018年10月31日 · 2441 次阅读

一、软件的兼容性测试

        主要是与手机操作系统之间的兼容性。有些软件需要在不同操作系统平台上重新编译才可运行;有些软件需要重新开发或改动较大,才能在不同平台运行,而理想的软件应该具有平台无关性。
         目前应用在手机上的主流操作系统有 Palm OS、Symbian(塞班)、Android(安卓)、iOS(苹果)、Black Berry(黑莓)OS 6.0 等。
对操作系统的兼容性测试,需要考虑安装测试、卸载测试、功能遍历测试、运行稳定性测试、界面显示测试、流畅度测试、分辨率兼容性测试等内容。
        另外,对操作系统的兼容性测试还包括在同一操作系统的不同版本上进行兼容性测试。如 Android 系统的不同版本(Android4.0-)、苹果系统 iOS 的不同版本等。

二、提供功能使用

1.上传 apk

2.安装 apk

3.安装完成

三、功能实现前提环境

安装软件:adb install
卸载软件:adb uninstall <软件名>
清理手机的 apk 数据:adb shell pm clear(在卸载之前)
打开 apk:adb shell am start -n package_name/ activity_name

eg:打开 chrome:am start -n com.android.chrome/com.google.android.apps.chrome.Main

四、具体实现

1.上传 apk(前端提供上传文件入口)

         解析上传的 apk 信息,获取包名、版本等信息

2.下载 apk,执行安装(前端能看到安装进度,安装成功后,能看到该 apk 的相关信息)

         根据前端按钮控制是否清除手机原有数据,后台使用 adb 安装

3.打开 apk 以供测试

         若解析出打开 apk 的两个参数,则打开 apk;否则,需手动打开。

注:可以使用 aapt 工具或者反编译工具 apktool 获取 apk 的 activity_name

五、问题总结与解决

1、弹框问题

         问题描述:每个品牌的手机的安装过程中会遇到各种弹框,如果弹框未进行点击处理,则会导致安装失败
         解决方法:对不同品牌的弹框进行配置,配置信息为:界面检测到什么文字,点击什么按钮。(手机中的服务会读取配置文件,进行相应处理)
         注:弹框的配置只配置和手机相关性大的,对于 apk 本身的弹框不处理,这考虑到测试 apk 本身的弹框就是测试目的。

2、通过手机的 adb 安装失败

         问题描述:个别手机的安全系数设置比较高,通过 adb 安装总是失败,失败原因参考:https://blog.csdn.net/mad1989/article/details/8470581
         解决方法:常见原因是通过 usb 安装权限未打开导致,需开启手机的 usb 安装权限;其余安装失败原因酌情处理。

六、福利

对于 apk 的安装功能,更多的使用场景是对多个手机、多品牌手机进行同一款安装,这个功能请使用:多级同屏完成同时安装 apk 的测试工作。
测试地址:http://opentest.360.cn/phonerenter.html
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 15 条回复 时间 点赞

非 root 遇到 UID_CHANGED 你们是怎么处理的,除了系统重置

15楼 已删除

你可以选择不看,,如果你不是一个友好的态度,没必要这样诋毁吧

mling 回复


主要是通过清理 apk 在手机产生的数据解决的,实际证明这样的操作是有效的

请问 openTest 有开源的计划吗?

额公司有钱,可以买新机

water 回复

openstf 二次开发的

乾行 回复

厉害啊,我也有改造 STF 的计划,请问你们这个二次开发花了多少人天?

water 回复

如果按照文章内描述的东西,可能就是 STF 套了一层壳,如果 2 个人全职投入这样的事情,不超过一个月。

乾行 回复

对 stf 源码不熟悉,有这么简单就好了~~

water 回复

主要是用 JavaScript 开发的,大多数测试用的 python、java 语言

water 回复

我们这个项目是用 python 做的,如果你只是想使用 stf 的功能的话,自己搭建 stf 环境就好,也可对其内部逻辑进行修改

乾行 回复

重新使用 python 开发就是为了自己加功能,修改内部比较方便

water 回复

几个月,加上测试,我们这个功能比 stf 的多了几个,简单功能开发时间比较短

water 回复

暂时还没有,产品的质量和功能我们还在努力改进中

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