Appium 环境配置及初体验

Appium 我理解是一款可以支持 Android iOS 以及 移动混合、H5 等开发技术的移动端测试框架

效果Gif

执行 Python 脚本做一个简单的自动化操作


  • 慎入: 搭建环境 和 解决报错举步维艰。光安装的 Android sdk 、Java SDK 、adb、Nodejs 、brew、pip、npm 、Python 、appium 等相关的东西多达十几项

官网
github

brew install node      # get node.js
npm install -g appium  # get appium
npm install wd         # get appium client
appium &               # start appium
node your-appium-test.js

server 端

这是官网给的环境搭建步骤,看起来很简单是吧。其实我想说 【你忙吧,我吃柠檬】根本就不是那么回事好吧,npm install -g appium 卡在这一步就没过去,卡在 “ info UiAutomator2 downloading UiAutomator2 Server APK v0.3.0 ” 一直在下载不下来 ,google baidu 大法全部用上了,国外的镜像淘宝的镜像,VPN 全开了 卡在一处一直下载不下来。[安装卡主部分见下图]

Appium 环境配置及初体验_第1张图片

ok ~ 你赢了 ,不得已 server 我只好用了 GUI 的 Appium 客户端

Appium 环境配置及初体验_第2张图片

也就是这样子,里面的配置我基本没有去做改动。点击 apple 图标右边的设置的时候 Server Address 可能为 0 建议把地址和端口号设置一下 127.0.0.1 端口号 4723


因为楼主本身从事 Android 开发 ,appium 所需要的 Android 环境以及模拟器已经搭建完毕,具体检测环境命令 terminal : appium-doctor

Appium 环境配置及初体验_第3张图片

warning 我给忽略了

client 端

client 端 可以用 Java Python Ruby C# 等,我尝试去配置了 Java 和 Python 的 client 两个都有坑,最终选择了 Python
安装 Python 客户端有 3 种方式,分别做一下介绍:

  • pip install Appium-Python-Clinet 命令式
  • git clone https://github.com/appium/python-client.git 、python setup.py install Git 式
  • Pycharm 式

命令式 和 GitHub 式都有坑,selenium 是 appium Python-Clinet 需要依赖的一个组件包,selenium 可能默认安装的是某个版本 ,然后你执行脚本的时候会报一堆莫名其妙的错误

  Could not find a version that satisfies the requirement Appium-Python-Clinet (from versions: )
No matching distribution found for Appium-Python-Clinet

例如这, 网上查询原因是 selenium 版本太高了 需要降版本。【你忙吧,我吃柠檬】还有这种操作?然后 google baidu 大法搜索卸载 selenium 方法 和 selenium 低版本的资源。各种折腾,最终还是不行最终在 ide pycharm 上解决了。

Appium 环境配置及初体验_第4张图片

Perferences -> Project -> Project Interpreter
- Appium-Python-Client
- selenium 3.0.1

点 + 号可以在网上搜索你需要安装的组件, pychrm 会帮你下载下来。注意 selenium 3.0.1 的版本需要选择降版本下载不然运行 Python 脚本会报错

脚本准备

from appium import webdriver

desired_caps = {
    'platformName': 'Android',
    'deviceName': '192.168.56.101:5555',
    'platformVersion': '4.4.4',
    'appPackage': 'com.android.calculator2',
    'appActivity': 'com.android.calculator2.Calculator',
    'noSign': 'True'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.find_element_by_name('7').click()
driver.find_element_by_name('+').click()
driver.find_element_by_name('8').click()
driver.find_element_by_name('=').click()
  • 脚本开启系统的计算器根据元素的 name 去做点击事件,做了一个简单的加法运算

如果你上述环境都解决完毕运行这个脚本,在 1.5.3 的 sever 端下能把模拟器的计算机唤起,但是后续会报一个错误

InvalidSelectorException: Message: Locator Strategy 'name' is not supported for this session

意思告诉你不支持通过 name 去找元素,原因是 高版本的 appium server 不支持通过 name 去找元素。解决办法:

  • 降低 appium server 版本
  • 修改 appium 的配置文件

这里写图片描述

在电脑磁盘内找到 appium 下的 driver.js 文件。mac 环境地址见上图,也可以通过工具做全局搜索
这里写图片描述

这里写图片描述

见上图 支持寻找元素的方式有 ‘xpath’ ‘id’ 等 原本的 name 是不存在的,是我添加上去的。添加 name 后保存文件,退出 appium sever 端重启, pycharm 运行脚本。大功告成~

总结 , appium 可能去折腾一些环境 和 配置要比学习 appium 更难。这点对于初学者来说是非常不友好的,可能初学者在配置环境的过程中屡次的各种失败导致放弃。但是保持恒心解决各种环境和报错还是能取得最终的胜利。

你可能感兴趣的:(appium)