• 售前

  • 售后

热门帖子
入门百科

Python3+Appium安装及Appium模仿微信登录方法详解

[复制链接]
放弃六月们 显示全部楼层 发表于 2021-10-25 19:20:00 |阅读模式 打印 上一主题 下一主题
一、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  Studio然后使用Android Studio安装SDK(太慢可通过图中HTTP Proxy设置署理)。
菜单----Tools----SDK Manager,钩选自己要安装的版本点击Apply进行下载即可。

Android SDK安装完成后,新建ANDROID_HOME环境变量,值为上图Android SDK Location的目录(我这里是“D:\Language\ASDK”)

1.2 通过Desktop App安装(推荐)

下载地点:https://github.com/appium/appium-desktop/releases
选择操作体系对应版本下载,Windows直接双击安装即可。 

1.3 通过npm安装

1.3.1 安装nodejs

appium本质是一个nodejs库所以要先安装nodejs,然后使用npm安装。
nodejs下载地点:https://nodejs.org/zh-cn/download/
下载zip包解压到自己想放的目录,然后把该目录参加Path环境变量即可。
1.3.2 安装appium
  1. npm install -g appium
复制代码
 安装appium的过程中安装chromedriver时会毗连google网站上去(报错RequestError: Error: connect ETIMEDOUT 216.58.220.208:443),所以大概你必要参考以下下令设置一下npm署理
  1. # 设置代理
  2. npm config set proxy http://127.0.0.1:1080
  3. npm config set https-proxy http://127.0.0.1:1080
  4. # 如果代理需要用户名密码
  5. npm config set proxy http://username:password@127.0.0.1:1080
  6. npm config set https-proxy http://username:password@127.0.0.1:1080
  7. # 注册npm仓库
  8. npm config set registry https://registry.npmjs.org
  9. # 查看当前配置项npm config getnpm config get proxy
  10. # 删除代理配置
  11. npm config delete proxy
  12. npm config delete https-proxy
复制代码
配置本质上会存放到“C:\Users\你的用户名\.npmrc”内,所以也可以直接修改该文件。
1.3.3 使用appinum-doctor确认环境配置无误
  1. npm install -g appium-doctor
  2. appium-doctor --android
复制代码
 二、手机毗连appium

2.1 启动appium服务

如果是通过npm安装,appium会被安装到nodejs目录下,直接使用appium下令启动即可

我这里使用Desktop App方式安装,安装完成后双击桌面上的图标界面如下:

我们使用默认配置都不修改,直接点击“Start Server”按钮启动 

2.2 手机使用数据线毗连电脑

使用数据线把手机毗连到开启appium的电脑,开启usb调试功能。可使用adb下令列出设备确保毗连乐成
  1. adb devices -l
复制代码
三、 使用示例

下边以python3+appium打开微信并登录进行演示。python操作appium是通过向appnium的监听端口发报文实现的,所以python不消安装什么appium库。
3.1 Desktop App打开微信并登录


添加以下四项值,完后点击“Start Session”。
  1. platformName---设备平台。填Android或IOS
  2. deviceName----设备名。按上边adb查出的设备名填写即可
  3. appPackage----要启动的app的包名。微信是"com.tencent.mm"
  4. appActivity----要启动的界面。微信启动界面是".ui.LauncherUI"
复制代码
  1. {
  2. "platformName": "Android",
  3. "deviceName": "HWEVA",
  4. "appPackage": "com.tencent.mm",
  5. "appActivity": ".ui.LauncherUI"
  6. }
复制代码

选择xml控件,对应部份就会高亮表现。

点击开始录制,然后在该appium界面上操作(注意不是自己直接在手机上操作),操作过程就会被记载下来然后可输出该过程对应的python代码

操作过程就会被记载下来,在Recorder下拉选择语言即可输出操作对应的代码

3.2 全代码自动化登录实现

Desktop App已给出界面内操作的代码,全代码自动化紧张的实在只是打开该界面的代码。
起首我们先安装两个依靠库
  1. pip install Appium-Python-Client Selenium
复制代码
代码补全如下,Appium-Python-Client继续自Selenium所以使用方法和selenium是很雷同的,更多api操作见:https://github.com/appium/python-client
  1. from appium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC# appium服务监听地点server='http://localhost:4723/wd/hub'# app启动参数desired_caps={
  2. "platformName": "Android",
  3. "deviceName": "HWEVA",
  4. "appPackage": "com.tencent.mm",
  5. "appActivity": ".ui.LauncherUI"
  6. }# 驱动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的使用方法请查察下面的相关链接

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作