【移动自动化】【二】Appium

实施自动化需要的工具

adb

  1. Android控制工具,获取获取Android各种数据和控制,Appium会调起adb命令去执行Android设备
  2. adb命令参考 https://www.cnblogs.com/totoro-cat/p/9969445.html

Appium Desktop

  1. 内嵌了Appium Server和Inspector工具,可以帮我分析app
  2. 下载地址,建议版本不要太高,其实每个版本相差不是特别大

Appium Server

  1. Appium的核心工具

Appium Clients

  1. 各种语言的封装库,用于连接appium server

Appium Desktop

安装

从官网下载桌面版本直接安装即可https://github.com/appium/appium-desktop/tags

主要功能

  • UI 分析
  • 录制用例
  • 元素查找测试
  • Attach 已有的 session
  • 云测试

操作步骤

  1. appium默认端口4327
  2. 在启动appium前,先点击edit configuration, 看你的java环境android_home环境是否配置,如果配置好,则appium会自动识别(怎么配置可以看上一篇,也可以自己百度,网上很多)
  3. 点击start server
  4. 打开appium server, 我们可以看到当前环境占用4723端口,点击inspection分析
  5. 在Desired Capabilities输入一下的信息,这些都是必填项的(我这边模拟器已经提前安装了app, 你也可以添加app参数,指定app地址)参数参考地址https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
    platformName: 需要测试的设备android or ios
    deviceName: 这个可以随意命名
    appPackage:app包名
    appActivity:app启动activity
  6. 点击start session

Appium server安装

  1. 安装nodejs,LTS版本,版本不能太高,我电脑安装了v12.18.3
root@iZuf6aygpm6zxxzuh3am6vZ:~# node -v
v12.18.3
  1. 安装Appium,因为特殊原因可能装不上,所以要换淘宝镜像
root@iZuf6aygpm6zxxzuh3am6vZ:~# npm install -g cnpm --registry=https://registry.npm.taobao.org
root@iZuf6aygpm6zxxzuh3am6vZ:~# cnpm install -g appium@1.14.0
root@iZuf6aygpm6zxxzuh3am6vZ:~# appium -v
1.14.0
  1. 需要python2环境,安装python2
root@iZuf6aygpm6zxxzuh3am6vZ:~# python
Python 2.7.12 (default, Jul 21 2020, 15:19:50) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

4.安装appium-doctor设置adb java android路径, 都出现绿色说明都配置好了,直接输入appium就启动服务了,

root@iZuf6aygpm6zxxzuh3am6vZ:~# npm install -g appium-doctor@1.14.0

简单的测试脚本

  1. chi/demo_1.py 前提安装依赖pip install Appium-Python-Client
from appium import webdriver

caps = {}

caps["platformName"] = "android"
caps["deviceName"] = "emulator-5554"
caps["appPackage"] = "com.shoumi.shoumi"
caps["appActivity"] = ".activity.startActivity"
caps["autoGrantPermissions"] = True


driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)

driver.implicitly_wait(1000)

driver.quit()
posted @ 2020-08-06 11:00  WANG-X  阅读(200)  评论(0编辑  收藏  举报