appium linux环境搭建,Docker容器内appium环境的搭建

一、Docker简介

Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。(具体可参考http://www.runoob.com/docker/docker-tutorial.html,里面还包含了Docker的应用场景及优点)

二、环境搭建

1、MacOS下载安装docker

参考http://www.runoob.com/docker/macos-docker-install.html

2、docker下载centos镜像

本次环境搭建是基于centos实现appium的环境搭建,所以我下载的是centos的镜像,使用命令docker pull centos即可,在下载之前如果想限定centos的版本,可以先用命令docker search centos来查找和centos有关的镜像,然后再选择自己想要下载的镜像即可。

3、下载centos常用命令

刚pull下来的镜像很多工具都没有,如vim、wget、curl之类的,可以通过如下命令进行下载(yum源是centos自带的):

先创建容器并进入到容器中,如:docker run -ti --name mycentos centos /bin/bash

其中-t表示为容器重新分配一个伪输入终端,通常与 -i 同时使用,-i表示以交互模式运行容器

vim下载: yum -y install vim

wget下载: yum install wget

curl:  参考http://www.souvc.com/?p=1779

4、创建容器下载安装Python3

去官网下载编译安装包或者直接执行以下命令下载:

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

解压缩:tar -xvJf  Python-3.6.2.tar.xz

切换进入:cd Python-3.6.2

编译安装:./configure prefix=/usr/local/python3

make && make install

安装完毕,/usr/local/目录下就会有python3了

然后在centos下有默认的python2

8d7b4fca5317dfc9511ab6f7fd10a37e.png

如果想要在终端下输入python后默认是python3的话,可以设置软链接:ln -s /usr/local/python3/bin/python3/ usr/bin/python

这样就默认的是python3了,不过这样会存在一个问题,会导致yum源不可用,因为centos下的yum是依赖于python2,所以还需要修改yum的配置,使用vim /usr/bin/yum

a4bc95a55c94bdc310a2b79b721c7921.png

将第一行改为#!/usr/bin/python2即可,同理:vim /usr/libexec/urlgrabber-ext-down也需要做上述修改。

最后使用在终端上输入python试一下

f267dbefeb41c20d700b4ac116b8276a.png

5、下载jdk

先检查下自己的Java版本,可以使用java -version查看,我下载的centos镜像自带的java版本是1.7.0比较低,为了保险起见,我删掉原来的java1.7.0,删除步骤如下:

(1)先查找它们的安装位置  :rpm -qa | grep java

(2)只需要删除后缀为.x86_64的即可,使用 rpm -e --nodeps加上系统自带的jdk名字即可,删除完了之后可以通过rpm -qa | grep           java确认删除了没有。

(3)下载安装jdk

通过wget命令下载:

wget --no-check-certificate --no-cookies --header "Cookie:oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

下载完成之后新建一个目录:mkdir /usr/java

把下载好的rpm文件挪去:cpjdk-8u131-linux-x64.rpm/usr/java/

然后进入目录中:cd /usr/java

给文件添加可执行权限:chmod +x jdk-8u131-linux-x64.rpm

执行rpm目录执行安装:rpm -ivhjdk-8u131-linux-x64.rpm

查看是否安装成功:java -version

成功之后显示如下:

b88fc75246a3013c2d949cbd8d9d0848.png

配置环境,打开/etc/profile添加:

JAVA_HOME=/usr/java/jdk1.8.0_131

JRE_BIN=/usr/java/jdk1.8.0_131/jre

PATH=$PATH:$JAVA_HOME/bin:$JREHOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_BIN PATH CLASSPATH

6、下载android sdk platform-tools(adb)

使用wget进行下载:

wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip

解压缩:unzip sdk-tools-linux-3859397.zip

创建sdk文件:mkdir -p /opt/android/sdk/

将解压缩后的文件tools移动到/opt/android/sdk/下面:mv tools /opt/android/sdk/

进入sdk目录中:cd /opt/android/sdk

创建一个特殊文件:touch ~/.android/repositories.cfg 至于为什么要创建这个文件,网上的说法是“在“./tools/bin/sdkmanager “tools” “platform-tools””这一步的时候可能会出现 Warning: File /root/.android/repositories.cfg could not be loaded.的错误,那么就需要创建 touch ~/.android/repositories.cfg”

执行下面这两条命令看是否可以运行成功,如果可以成功,证明没问题:

yes | ./tools/bin/sdkmanager --licenses

./tools/bin/sdkmanager "tools" "platform-tools"

完成后打开/etc/profile配置环境变量:

export ANDROID_HOME='/opt/android/sdk'

export PATH=${PATH}:${ANDROID_HOME}/tools

export PATH=$PATH:/opt/android/sdk/platform-tools

7、下载nvm和node.js(node.js的下载需要用到nvm)

(1)下载nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash

完成后重新登录或者执行source ~/.bashrc让环境变量生效,执行nvm –version验证安装情况。

(2)下载node.js

nvm install --lts # nvm会自动选择lts版本作为默认版本

如果你不是安装LTS版本,要多一个命令:

nvm install 8.7.0

nvm use 8.7.0 --default

完成后执行node - -version验证安装情况。

8、下载appium

如果使用npm直接进行安装,可能会出现各种各样的报错,那就先下载cnpm,换成cnpm下载即可,

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install -g appium --unsafe-perm

下载完成后使用appium - -version验证或者直接启动appium服务试一下。

9.下载OpenCV

OpenCV要从源码编译安装,需要先安装Cmake,OpenCV又需要高一点版本的Cmake,CentOS自带的版本不够,所以Cmake也要从源码安装......

(1)先安装cmake吧,命令如下:

wget http://www.cmake.org/files/v3.1/cmake-3.1.3.tar.gz

tar zxvf cmake-3.1.3.tar.gz

cd cmake-3.1.3

./configure --prefix=/usr/local/cmake-3.1.3

make && make install

ln -s /usr/local/cmake-3.1.3/bin/cmake /usr/local/bin/

安装完OpenCV得到一个opencv_version的命令,就可以打印OpenCV的版本号了。

(2)下载opencv-python

这是一个python的opencv封装库,安装前需要一些系统的X11运行库来支撑运行(不知道具体是干嘛的)

yum install -y libSM libXrender libXext

pip install opencv-python

安装完成后,使用python -c “import cv2”可以检查是否正确安装了。

10、下载appium-doctor

npm install appium-doctor

下载完成后,在命令行上输入appium-doctor来验证appium环境的正确性,如果提示说"opencv4nodejs"不存在,那就还需要下载一个"opencv4nodejs"。

548989a05de88f46dddd164f15ab03ae.png

11、下载opencv4nodejs

这个东西的下载特别慢,而且可能下载失败

cnpm i -g opencv4nodejs

下载完成最好关机重启。

最后输入appium-doctor验证一下:

appium linux环境搭建,Docker容器内appium环境的搭建_第1张图片

上面就是centos下appium环境的全部配置步骤了。

但是不知道如何让docker操作USB设备,因为lsusb查取不到任何usb设备。。。目前还正在研究中。

最后附上docker的常用操作命令链接:http://www.runoob.com/docker/docker-command-manual.html

你可能感兴趣的:(appium,linux环境搭建)