(1) CTS-Tradefed测试框架环境搭建

不知不觉,毕业已经快两年时间了.其中从事CTS测试自动化工作已经一年多了.这期间对Google认证测试执行原理有一定的了解.而对执行这些认证测试的框架则更为感兴趣,本系列博客主要是回顾自己所学的Tradefed测试框架.

1.Tradfed框架介绍

Tradefed是由Google开发的一套自动化测试框架,主要用于对Android手机进行自动化测试.其功能强大,支持多种测试类型,如AndroidJunit测试,主机端Jar包测试,基于C++的Gtest测试等,也支持多种测试前置操作,如Fastboot刷机,修改Settings数据库,安装APK,修改测试环境.当测试用例过多时,还可以通过时空转换的思想,增加测试设备数量,将测试用例平均分到多个设备上进行测试.谷歌认证系列的测试(CTS/VTS/GTS/GSI)均是基于此框架所进行的.

2.本地测试环境搭建

我一直相信一句话:“授人以鱼不如授人以渔”,虽然本系列博客主要是用来讲述Tradefed框架执行原理的,但我感觉更重要的是要教会如何学习这个框架.有了学习方法,就算再换个框架,也能较为快速的掌握其原理.

对于一个测试框架,要想弄明白其中的执行原理,首先应当是要先学习如何使用此框架.就好像要想搞清楚一辆汽车的工作原理,首先你应当会开车(注意:不是那个开车的意思),在此基础上来搞懂汽车是如何启动的会更轻松一些.因此,我们可以通过一个简单的例子来学习如何调用此框架来跑测试.

First of all,我们应当先搭建此框架的执行环境,只有此框架环境搭建好了,才能进行相应的测试.本系列博客将选用原生CTS测试包来讲解Tradefed框架,因为CTS针对Tradefed进行了二次封装,丰富了更多的功能,而且有实际的测试用例,更容易进行debug,讲解.

2.1 测试包下载

本文选用当前可获得到的最新版本的CTS测试包(11-r3版本),浏览器访问如下地址进行下载:

https://dl.google.com/dl/android/cts/android-cts-11_r3-linux_x86-arm.zip?hl=zh_cn

下载完成后解压测试包.

2.2 WSL搭建

CTS测试谷歌要求是需要在Linux下进行,但由于通过VMware搭建虚拟机搭建Linux环境较为繁琐.在此直接使用Win10自带的Linux子系统用于执行CTS测试(经验证WSL下执行CTS测试与纯Linux环境下执行并无差异).对于WSL的搭建,网上教学博客有很多,在此不专门讲解如何搭建WSL.

2.3 WSL环境配置

针对WSL的环境配置,主要就是运行CTS测试时候的环境需求,主要需要如下环境:

  • JDK 11 及以上版本
  • ADB 工具 (Windows版与Linux版均需要,且版本号必须相同)
  • AAPT 工具

这里需要再次强调下ADB的版本,一定要保证Windows下的ADB与Linux下的ADB版本相同,这样才可以正常进行测试,在此分享两个平台的ADB下载地址:

https://dl.google.com/android/repository/platform-tools_r31.0.2-linux.zip?hl=zh_cn # linux平台
https://dl.google.com/android/repository/platform-tools_r31.0.2-windows.zip?hl=zh_cn # Windows平台

将此两个SDK工具下载下来安装好后,Windows版本的在Windows环境变量上配置好,Linux版在子系统的环境变量也配置好,插上手机并打开开发者模式-usb调试选项,在命令行执行 adb devices,如果有设备输出,则代表adb环境搭建完成.
在这里插入图片描述
如上图,在Windows和Linux下均能通过adb来找到设备.

后续再安装java和aapt即可,注意,由于此ubuntu默认的镜像源下载工具速度很慢,我们可以给改成阿里的镜像源,需要使用root用户权限来编辑sources.list文件.首先在cmd窗口运行 wsl 指令,进入Linux子系统,然后执行如下指令进行编辑

vim /etc/apt/sources.list

在此列出ubuntu 18.04版本的阿里镜像源,如安装的是其他版本的ubuntu,请百度对应版本的镜像源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

之后执行如下指令,可以安装java环境和aapt环境

sudo apt install openjdk-11-jre-headless
sudo apt install aapt

3.执行测试包

3.1 测试包介绍

接下来我们查看2.1步骤所下载的测试包,将其解压,进入解压文件后会有如下内容:
在这里插入图片描述

  • testcases: 主要存放测试用例相关内容
  • tools:主要存放测试框架以及工具等相关内容

我们本次主要是研究框架部分,因此进入tools目录:
在这里插入图片描述
这里边有很多文件,在这里挑其中比较重要的说下:

  • tradfefed.jar : tradfed框架所编译出的jar包
  • cts-tradfed.jar: cts测试套件针对tradfed框架所进行二次开发出的内容
  • cts-tradfed:启动测试的测试脚本(shell)

3.2 启动测试包

因为要启动cts测试套件,所以需要到Linux界面下执行cts-tradfed即可:
在这里插入图片描述
这样,CTS测试框架就启动起来了.

可以手动执行一条测试指令,看看效果

run cts -m CtsJniTestCases

如果可以成功执行,则代表环境搭建完成,若未成功执行,可考虑是否是如下问题:

  • 子系统ADB版本是否与Windows端一致
  • 插上去的手机是否是Android 11版本

到下一节,会专门讲解这条指令的含义.

如有其它问题,欢迎博客下留言.

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值