[if !supportLists]1.[endif]文档简介
CTS和GTS测试过程中,会时候用到网络进行媒体播放测试,在网络环境受限的时候,经常出现媒体下载失败以及测试不通过的问题,可以根据此文档搭建本地媒体服务器,从而解决在较差网络环境下运行测试不通过的问题
[if !supportLists]2.[endif]Ubuntu本地服务器搭建
[if !supportLists]2.1.[endif]Apache2安装
输入以下命令进行安装:
apt-get installapache2
安装完成后,在ubuntu浏览器中输入127.0.0.1,如果可以正常访问,则安装正常,进行下一步。
[if !supportLists]2.2.[endif]环境配置
{{Apache2默认使用的是/var/www/这个路径,我们需要再这个路径下软连接到我们的资源绝对路径,在命令行中输入一下内容:
cd /var/www/
sudo ln –s media-path
test(注意中间的空格输入,需要键media-path替换成媒体资源所在的绝对路径)
ls
最后输入ls后可以看到test目录即可
进入浏览器,输入127.0.0.1/test如果能够正常显示文件夹下面的资源,则环境搭建ok}}
以上括号内为旧内容,请使用一下新内容进行搭建:
cd /etc/apache2 目录,编辑文件
sudo vim sites-enabled/000-default.conf 将DocumentRoot /var/www/html 一行注释掉,并且插入一句DocumentRoot /media-path 将以上的媒体路径替换为本地媒体的绝对路径
然后修改文件:
sudo vim apache2.conf 新增插入一下内容:
<Directory /home/white/Google/test>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory> 请留意将我的 /home/white/Google/test替换成你电脑上的媒体资源的绝对路径。
然后重启apache
输入 sudo /etc/init.d apache stop
sudp /etc/init.d apache start
然后进入浏览器输入127.0.0.1打开即可看到共享文件
[if !supportLists]3.[endif]CTS
[if !supportLists]3.1.[endif]资源准备
CTS测试的本地媒体资源准备比较见到,只要下载最新的媒体测试包就可以了,需要注意,这个媒体测试包不是AOSP CTS套件处的测试包,从CTS套件处下载的测试包不包含bitstream等内容。
当前最新的下载连接:https://dl.google.com/dl/android/cts/android-cts-media-1.5.zip
下载连接可以到ATV Help Center中进行更新获取最新的下载连接。地址如下:https://support.google.com/androidpartners_gms/answer/9382926?hl=en&ref_topic=9382925
下载完成后,将媒体包解压至/tmp/目录下,最终得到的文件路径如下:
/tmp/android-cts-media-1.5
[if !supportLists]3.2.[endif]本地媒体运行测试
资源准备好后,在运行cts测试的时候,加入一下指令,即可从本地加载媒体文件,如下:
run cts --module-arg CtsMediaTestCases:local-media-path:/tmp/android-cts-media-1.5--module-arg CtsMediaStressTestCases:local-media-path:/tmp/android-cts-media-1.5--module-arg CtsMediaBitstreamsTestCases:local-media-path:/tmp/android d-cts-media-1.5
如果媒体路径变了,则把media的路径替换至对应路径即可。
此方式同样适用于CTS-ON-GSI
[if !supportLists]4.[endif]GTS
[if !supportLists]4.1.[endif]媒体资源下载
GTS媒体资源下载的东西比较多如下:
GtsExoPlayerTestCases:下载连接如下https://storage.googleapis.com/exoplayer-test-media-1/gen-4/exoplayer-gts-media.zip
下载完成后将文件解压,并且放置到章节2中media-path/exo/目录下
GtsYouTubeTestCases:下载连接如下
https://storage.googleapis.com/youtube-test-media/gts/GtsYouTubeTestCases-media-1.0.zip
下载完成后将文件解压,并且放置到章节2中media-path/wv/目录下
GtsMediaTestCases:下载连接如下
https://storage.googleapis.com/gts_media/wvmedia-gts-media.zip
下载完成后,将对应的zip包(不需要解压)放置到章节2中media-path/youtube目录下。
同样,以上3个媒体资源的连接也会伴随测试套件更新而更新,如果有更新,可以到GMS Help Center进行下载,连接参考CTS部分。
[if !supportLists]4.2.[endif]JSON文件准备
GtsExoPlayerTestCases:将如下json文件放置到4.1中和媒体包相同的路径,media-path/exo/目录下。
文件名:dynamic-config-1.0.json
文件内容
{
"dynamicConfigEntries": {
"base_url": {
"configValues": [
"http://192.168.2.160/exo/exoplayer-gts-media/gts/exoplayer/"
]
}
}
}
注意其中的http这一段路径,需要更具实际情况修改为文件对应的路径,以上为当前测试pc上的路径,仅供参考。
GtsYouTubeTestCases:将如下json文件放置到4.1中和媒体包相同的路径,media-path/youtube/目录下。
文件名:dynamic-config-1.0.json
文件内容
{
"dynamicConfigEntries": {
"media_files_url": {
"configValues": [
"http://127.0.0.1/youtube/GtsYouTubeTestCases-media-1.0.zip"
]
}
}
}
同样,http中的路径需要修改为实际的PC中的地址
[if !supportLists]4.3.[endif]运行GTS
以本地媒体运行GTS的测试,在run的时候,加上以下命令即可:
--module-arg"GtsYouTubeTestCases:config-url:http://127.0.0.1/youtube/dynamic-config-1.0.json"--module-arg"GtsExoPlayerTestCases:config-url:http://127.0.0.1/exo/dynamic-config-1.0.json"--module-arg "GtsMediaTestCases:instrumentation-arg:media-path:=http://192.168.2.160/wv/wvmedia-gts-media/wvmedia/"
注意以上json文件的位置需要修改为4.2章节中实际文件所在的位置,最后一个MediaTest的media-path的参数地址也需要修改为对应的文件所在的位置。
可以看到前面两个model arg的参数连接使用的是127的本地地址,是因为对应的json文件是pc进行下载的,然后MediaTest这个模块使用的是服务器实际ip地址,因为这个meida是测试设备去访问的,这两点需要注意。
此命令只可以在第一次run的时候用,进行retry的时候,不用添加model arg这几个参数,retry会自动获取原始测试报告中的参数配置。