open-MAT 安装部署
1. 安装jdk
ps: 注意配置环境变量
2. 安装ndK
ps: 注意配置环境变量
3. 安装minicap
a. https://github.com/openstf/minicap.git
git submodule init
git submodule update
b. 编译执行文件和动态链接库
修改android版本 minicap主目录下 jni/Application.mk 中添加[APP_PLATFORM := android-25]
当时用的ndk版本过高(>16)需做如下修改:
由于 Android OS 放弃GCC转向了 Clang 编译器, 所以 NDK 将移除GCC, 所以建议用Clang编译你的程序。
修改 Applicaiton.mk 中的相关配置
1>. APP_STL := gnustl_static 改为 APP_STL := c++_static
2>. 删除NDK_TOOLCHAIN or NDK_TOOLCHAIN_VERSION
运行指令[ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=./jni/Application.mk APP_BUILD_SCRIPT=./jni/Android.mk] 进行编译
编译生成的执行文件在当前目录的 libs里面
c. 如果当前有链接实际设备,可运行 [./run.sh autosize -t] 来进行测试
4. 安装minitouch
git clone https://github.com/openstf/minitouch
cd minitouch
git submodule init
git submodule update
ndk-buil
5. 安装node, appiunm, Selenium
wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz
tar -xvf node-v9.3.0-linux-x64.tar.xz
ln -s ~/node-v9.3.0-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v9.3.0-linux-x64/bin/npm /usr/bin/npm
npm install -g appium
pip install selenium
6. 安装open-MAT
a. git clone https://github.com/fengyca/open-MAT
b. 安装相关python依赖包 requirements信息不全,直接运行,缺什么装什么
c. 安装nginx redis celery
d. 修改配置信息
修改文件/MAT/apps/appcrawler/templates/myframe.html233行,284行 var wst = new WebSocket("ws://servicesIP:{{ mtsp }}"); 将servicesIP替换为服务器IP
修改文件/MAT/apps/appcrawler/deviceYaml.yml,按照文件中现有的格式,修改为你要连接MAT端的移动设备信息
将第三步生成minicap执行文件放置到 /MAP/apps/appcrawler/minicap/libs/ 下,新建文件夹保存,文件夹名为[android-23]
如果获取设备分辨率失败,则需手动修改 /MAP/apps/appcrawler/views.py 193行,将windowsSize, 替换成实际值
e. 启动
启动nginx
启动redis-server [redis-server /path/open-MAT/MAT/redis.conf]
启动uwsgi [uwsgi --ini /path/open-MAT/django_uwsgi.ini]
启动celery 项目根目录下执行[celery -A MAT worker -l debug -c 30]
ps: docker环境部署需要配置相应端口