ubuntu下安装配置appium

  1. node和npm安装
    su root 获取root权限
    apt-get install node
    apt-get install npm
    分别输入 node -v 和npm -v测试安装是否成功
    whereis node 查看node的安装路径

  2. 安装android sdk
    http://tools.android-studio.org/index.php/sdk/ 下载Linux版本的SDK
    tar zxvf android-sdk_r24.4.1-linux.tgz 解压
    提示错误:tar (child):XXX: Cannot open: No such file or directory问题
    tar zxvf /home/xxx/android-sdk_r24.4.1-linux.tgz 要指定完整路径
    vim /etc/profile 添加环境变量
    确保你安装了vim 没安装可通过命令apt-get install vim vim-scripts vim-doc进行安装,自行学习vim用法
    按i进入编辑模式,输入以下环境变量:
    export ANDROID_HOME=/home/xxx/android-sdk-linux
    export PATH= A N D R O I D H O M E / t o o l s : ANDROID_HOME/tools: ANDROIDHOME/tools:PATH
    按Esc后输入’:wq!'保存退出vim
    source /etc/profile 使环境变量生效
    android update sdk --no-ui 安装所有包
    android 打开安卓sdk管理器查看已安装的包

  3. 安装appium
    npm install -g cnpm --registry=https://registry.npm.taobao.org 先下载淘宝做的cnpm工具,因为原先的npm工具是国外的,下载appium的速度很慢。
    cnpm install -g appium --no-cache 提示错误TypeError: this is not a typed array,因为node版本不是最新的
    解决-更新node:
    npm config set registry https://registry.npm.taobao.org,把npm的包源设置为淘宝的镜像
    npm install n -g 安装n工具,n这个工具是用于更新node版本的工具
    n stable 安装最新的node,注意看安装路径,我的最新的node保存在/usr/local/n/versions/node/10.16.0
    输入node -v发现还是之前安装的版本
    vim /etc/profile
    export NODE_HOME=/usr/local
    export PATH= N O D E H O M E / n / v e r s i o n s / n o d e / 10.16.0 : NODE_HOME/n/versions/node/10.16.0: NODEHOME/n/versions/node/10.16.0:PATH
    export NODE_PATH= N O D E H O M E / l i b / n o d e m o d u l e s : NODE_HOME/lib/node_modules: NODEHOME/lib/nodemodules:PATH
    保存退出vim
    source /etc/profile
    node -v 发现是最新安装的版本
    cnpm install -g appium --no-cache 再次安装appium发现成功
    appium 打开appium

  4. 安装appium-doctor
    cnpm install -g appium-doctor
    appium-doctor 开始appium环境检查
    发现opencv4nodejs cannot be found. 只是警告,可以不用管。

  5. 为Python安装appium库
    pip install Appium-Python-Client Appium的实用方法都在Client库中

  6. 打开appium和UI Automator Viewer准备运行环境
    手机连接电脑
    appium 打开appium
    cd ~/android-sdk-linux/tools # UI Automator Viewer就是位于此位置下的uiautomatorviewer
    export ANDROID_SERIAL=e312fe87 有多台手机连接电脑时需指定序列号,设置环境变量ANDROID_SERIAL
    uiautomatorviewer # 打开UI Automator Viewer,UI Automator Viewer可以对连接的手机进行截图,显示UI组件信息,通过组件的id或者class等来对它进行某些操作。

  7. 编写Python代码测试手机上的应用
    没有安装Python集成环境pycharm请戳: https://blog.csdn.net/qq_36607875/article/details/92800989

     # encoding=utf-8
     from appium import webdriver
     def setUp(self):
         desired_caps = {}
         desired_caps['platformName'] = 'Android'   # 手机系统名,注意是真机还是模拟器
         desired_caps['platformVersion'] = '7.1.2'   # 手机系统版本
         desired_caps['deviceName'] = 'e312fe87'  #  通过adb devices得到的设备号
         desired_caps['udid'] = 'e312fe87'  
         # 我的电脑连接了多台安卓设备。测试Android  deviceName参数没有具体作用,但是必须要写,不能没有这个参。指定的 udid 才是真正要测试的那台手机。
         desired_caps['appPackage'] = 'com.tencent.mobileqq' # 要测试的手机的APP包名,可通过adb -s e312fe87 shell pm list packages查看所有包名
     	 desired_caps['appActivity'] = 'com.tencent.mobileqq.activity.SplashActivity'  # 要测试的APP的类名, adb -s e312fe87 shell dumpsys activity activities查看所有类名
     	 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)   # 4723是打开appium后显示的端口号
     	 # driver.find_element_by_id('com.xiangchao.starspace:id/skip').click()   # 通过UI Automator Viewer右侧的id来对此id进行点击操作
    if __name__ == "__main__":
    	 setUp()
    
  8. 运行Python脚本
    可通过Ubuntu的shell运行:
    cd /home/xxx/PycharmProjects/test
    python Appiumtest.py
    可直接在集成环境Pycharm中运行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值