一、Appium安装
我们知道selenium是桌面浏览器自动化操作工具(Web Browser Automation)
appium是继承selenium自动化思想旨在使手机app操作也能自动化的工具(Mobile App Automation Made Awesome)。
appium可以通过Desktop App和npm两种方式安装。Desktop App类似于selenium IDE提供一个图形界面式操作工具;npm类似于selenium就只能使用命令行。
如果对appium还不太熟悉,推荐使用Desktop App安装,这样一些操作我们可以使用Desktop App来输出代码,写代码时就有个参考。
1.1 安装Android SDK
要想操作安卓手机需要Android SDK,所以在安装appium之前先安装Android SDK。
推荐直接安装Android"text-align: center;">
Android SDK安装完成后,新建ANDROID_HOME环境变量,值为上图Android SDK Location的目录(我这里是“D:\Language\ASDK”)
1.2 通过Desktop App安装(推荐)
下载地址:https://github.com/appium/appium-desktop/releases
选择操作系统对应版本下载,Windows直接双击安装即可。"//img.jbzj.com/file_images/article/202102/2021216162223377.png" style="border-image: initial; text-align: center;" alt="" />
1.3 通过npm安装
1.3.1 安装nodejs
appium本质是一个nodejs库所以要先安装nodejs,然后使用npm安装。
nodejs下载地址:https://nodejs.org/zh-cn/download/
下载zip包解压到自己想放的目录,然后把该目录加入Path环境变量即可。
1.3.2 安装appium
npm install -g appium
"htmlcode">
# 设置代理 npm config set proxy http://127.0.0.1:1080 npm config set https-proxy http://127.0.0.1:1080 # 如果代理需要用户名密码 npm config set proxy http://username:password@127.0.0.1:1080 npm config set https-proxy http://username:password@127.0.0.1:1080 # 注册npm仓库 npm config set registry https://registry.npmjs.org # 查看当前配置项npm config getnpm config get proxy # 删除代理配置 npm config delete proxy npm config delete https-proxy
配置本质上会存放到“C:\Users\你的用户名\.npmrc”内,所以也可以直接修改该文件。
1.3.3 使用appinum-doctor确认环境配置无误
npm install -g appium-doctor appium-doctor --android
"//img.jbzj.com/file_images/article/202102/2021216162226927.png" style="border-image: initial; text-align: center;" alt="" />
我这里使用Desktop App方式安装,安装完成后双击桌面上的图标界面如下:
我们使用默认配置都不修改,直接点击“Start Server”按钮启动"//img.jbzj.com/file_images/article/202102/2021216162235371.png" style="border-image: initial; text-align: center;" alt="" />
2.2 手机使用数据线连接电脑
使用数据线把手机连接到开启appium的电脑,开启usb调试功能。可使用adb命令列出设备确保连接成功
adb devices -l
三、 使用示例
下边以python3+appium打开微信并登录进行演示。python操作appium是通过向appnium的监听端口发报文实现的,所以python不用安装什么appium库。
3.1 Desktop App打开微信并登录
添加以下四项值,完后点击“Start Session”。
platformName---设备平台。填Android或IOS
deviceName----设备名。按上边adb查出的设备名填写即可
appPackage----要启动的app的包名。微信是"com.tencent.mm"
appActivity----要启动的界面。微信启动界面是".ui.LauncherUI"
{ "platformName": "Android", "deviceName": "HWEVA", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI" }
选择xml控件,对应部份就会高亮显示。
点击开始录制,然后在该appium界面上操作(注意不是自己直接在手机上操作),操作过程就会被记录下来然后可输出该过程对应的python代码
操作过程就会被记录下来,在Recorder下拉选择语言即可输出操作对应的代码
3.2 全代码自动化登录实现
Desktop App已给出界面内操作的代码,全代码自动化主要的其实只是打开该界面的代码。
首先我们先安装两个依赖库
pip install Appium-Python-Client Selenium
代码补全如下,Appium-Python-Client继承自Selenium所以使用方法和selenium是很类似的,更多api操作见:https://github.com/appium/python-client
from appium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # appium服务监听地址 server='http://localhost:4723/wd/hub' # app启动参数 desired_caps={ "platformName": "Android", "deviceName": "HWEVA", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI" } # 驱动 driver = webdriver.Remote(server,desired_caps) wait = WebDriverWait(driver,30) # 获取登录按钮 login_btn = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/drp"))) # 点击登录按钮 login_btn.click() # 获取手机号文本框 phone_text = wait.until(EC.presence_of_element_located((By.ID,"com.tencent.mm:id/ji"))) # 填写手机号文本框 phone_text.send_keys("18888888888")
更多关于Appium的使用方法请查看下面的相关链接
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?