基于Appium、Python的自动化测试环境部署和实践(5)

发表于:2017-04-20来源:cnblogs作者:bacon刘点击数: 标签:pythonAppium
全局安装appium,本机安装的是1.4.16版本(如果不加版本名会自动安装最新版本),通过npm淘宝镜像 通过config命令 npm config set registry https://registry.npm.taobao.o

全局安装appium,本机安装的是1.4.16版本(如果不加版本名会自动安装最新版本),通过npm淘宝镜像
通过config命令
npm config set registry https://registry.npm.taobao.org (这里是为下面一句服务的,即把appium的下载数据源指向淘宝库)
npm install -g appium@1.4.16
如果安装失败就用root账号进行安装?安装完之后,
cd /usr/local/lib
sudo chown –R  主机名字 node_modules
然后卸载:
npm uninstall appium –g
之后再普通用户下启动appium
可能会比较慢,耐心等待安装成功,如果安装失败重复执行安装命令(如果之前有安装过错误的版本,提示得删除之前的文件,删除之后在安装)。
安装成功会出现树状依赖关系图
查看版本
appium -v
9. 下载安装Android SDK Starter Package
Android SDK Starter Package这个只是SDK的核心基本工具,有了它,再利用它的管理工具下载其他你需要到部分。看到这个目录中有个android脚本文件了吗?执行它,就会启动Android SDK and AVD Manager,这个工具可以帮你下载其他你需要的部分,还可以创建模拟机。
下载地址是:http://developer.android.com/sdk/index.html,不过国内这个地址被墙掉了,你要想版本下载包了。
一般是下载最新版,我下载的:android-sdk_r21.1-linux.tgz。
wget http://dl.gmirror.org/android/android-sdk_r24.4.1-linux.tgz
接下来当然是解包了:tar zvxf android-sdk_r21.1-linux.tgz
解包完毕,就会在当前目录下出现android-sdk-linux_x86目录了。这个目录下就是sdk的基本工具了。记住这个目录,因为以后你运行工具或者设置ADT的时候,会需要这个目录的!。
注意,需要安装ia32-libs
sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 
配置 Android SDK
配置 Android 环境变量,将下面的变量添加到环境变量当中去(根据自己sdk存放的文件夹修改路径,注意HOME就为当前用户目录下)
export ANDROID_HOME="$HOME/adt/sdk"
export PATH=${PATH}:~/adt/sdk/tools
export PATH=${PATH}:~/adt/sdk/platform-tools
然后source
source ~/.bashrc
10. 安装Appium客户端(ubuntu系统自带python2.7和python3.4版本)
安装Appium-Python-Client(使用pip安装)
sudo apt-get install python-pip
sudo pip install Appium-Python-Client
(可能会失败,多试几次)
安装 selenium 2.0(/usr/local/lib/python2.7/dist-packages下也有就无需安装)
sudo apt-get install selenium
测试Appium
测试appium环境安装正确与否
appium-doctor
所有环境都打钩为正确配置好环境,查看上面的JAVA_HOME和ANDROID_HOME环境配置是否正确
命令行敲入appium
出现 welcome to appium v1.4.16 代表安装成功
测试项目
将项目放到/python2.7/dist-packages文件夹下测试运行
完成!!!
 

第四章 控件识别

4.1 控件识别(Windows)

启动Appium后,用Appium Inspector进行控件识别(如下图),可以进行点击和输入操作(Tap、Text),右边的界面会根据操作实时更新,方便连续识别控件。
 
 

4.2 控件识别(Mac)

启动Appium后,用Appium Inspector进行控件识别(如下图)。

 

 

4.3 tips

Appium终端版本启动命令:
Linux下启动命令:appium -a 127.0.0.1 -p 端口号 -bp 端口号 --session-override --no-reset
Mac下启动命令:appium -a 127.0.0.1 -p 端口号 -bp 端口号 --session-override --no-reset --tmp 绝对路径
Mac下启动多个appium(小于1.6.0的版本)会有冲突,所以必须要对每个appium自定一个不同的数据缓存目录。因此,tmp后面的参数不能相同。appium(大于1.6.0)由于引进了WebDriverAgent,同时运行个appium客户端会导致wda的pc端端口重复,可以在测试脚本中指定setCapability("wdaLocalPort","端口一"),确保每个appium客户端wdaLocalPort端口不同。
Appium长时间运行报错:FATAL ERROR:CALL_AND_RETRY_LAST Allocation failed – process out of memory 已放弃(核心已转储)。判断为node内存溢出。这是node的bug
 

第五章 python脚本实例

 
driver对象类

原文转自:http://www.cnblogs.com/baconLiu/p/6735441.html

...