注意:请使用不用的手机测试,appium会把微信app重新安装,记录都会清除

一、安装Java JDK

JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

安装好后添加系统环境变量

二、安装Node.js

Node.js下载地址:https://nodejs.org/en/download/current/

cmd终端输入第一个命令 node -v,输出下面的信息

三、安装Appium server

https://github.com/appium/appium-desktop/releases(这个是官网的地址,按下图下载最新的安装即可)

打开appium

四、安装Android SDK

下载地址: https://www.androiddevtools.cn/

二选一,一个zip是免安装解压版

我选择默认的sdk build-tools,Android SDK Platform-tools安装

配置环境变量

1.新建系统变量

ANDROID_HOME=D:\Android\android-sdk

2.添加系统变量

把platform-tools及tools添加到系统环境变量,变量值(路径)之间使用分号隔开,两个变量值分别为:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;或者直接添加绝对路径

使用adb命令

五、安装Appium Client

打开CMD执行命令 npm install -g appium-doctor 安装appium-doctor

cmd执行 appium-doctor命令,查看环境是否安装成功

到此成功!

六、连接安卓手机

将安卓用数据线与电脑链接。需要打卡开发者模式。

打开USB调试,待电脑自动完成驱动安装后,输入adb devices即可查看到你的测试机ID就是连上了。

输入adb devices -l (不是数字1,是小写 L )

成功后,打开appium

platformName:平台名称
deviceName:设备名称,就是刚才的adb devices -l中mode后面就是
appPackage:app包名
appActivity:app活动名
有个简单的方法便可以获得appPackage和appActivity:https://blog.csdn.net/mtbaby/article/details/78676477

{"platformName":"Android",
"deviceName":"MI_6",
"appPackage":"com.tencent.mm",
"appActivity":"com.tencent.mm.ui.LauncherUI"}

start sessions后

运行后出错了

需要打开usb安装

Android-sdk的版本安装错了,需要安装Android9.0的

七、python连接appium

#安装
pip install appium-python-client
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By PLATFORM = 'Android'
deviceName = 'MI_6'
app_package = 'com.tencent.mm'
app_activity = 'com.tencent.mm.ui.LauncherUI'
driver_server = 'http://127.0.0.1:4723/wd/hub' class Moments():
def __init__(self):
self.desired_caps = {
'platformName': PLATFORM,
'deviceName': deviceName,
'appPackage': app_package,
'appActivity': app_activity
}
self.driver = webdriver.Remote(driver_server, self.desired_caps)
self.wait = WebDriverWait(self.driver, 300) def login(self):
print('点击登陆按钮——————')
login = self.wait.until(EC.presence_of_element_located((By.ID, 'com.tencent.mm:id/d75')))
login.click() def main(self):
self.login() M = Moments()
M.main()

最新文章

  1. ArrayList LinkedList源码解析
  2. sql where and or优先级 待验证
  3. windows下php,redis配置
  4. TortoiseSVN菜单项功能说明
  5. Nutch2.x 演示抓取第一个网站
  6. 在Java中导出word、excel格式文件时JSP页面头的设置
  7. RequireJS入门(二) 转
  8. 【转】Android Studio系列教程一--下载与安装
  9. 【高斯消元】BZOJ 1013: [JSOI2008]球形空间产生器sphere
  10. SAX解析
  11. 【转换模型+扫描线】【UVA1398】Meteor
  12. 我用Cocos2d-x模拟《Love Live!学院偶像祭》的Live场景(四)
  13. 【模板】51Nod--1085 01背包
  14. .NET Core2.0 MVC中使用EF访问数据
  15. 云计算 IaaS,SaaS,PaaS的区别?一个通俗易懂的吃货文章
  16. Fragment分解使用
  17. pymongo
  18. iOS:if a ViewController is Visible
  19. php Only variables can be passed by reference
  20. 2015 UESTC 搜索专题A题 王之迷宫 三维bfs

热门文章

  1. Mybatis基于XML配置SQL映射器(三)
  2. UNP学习第五章(二)
  3. Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测
  4. 函数————swap
  5. 根据一个经纬度坐标获取周边最近经纬。Java实现
  6. Spring核心——Bean的依赖注入
  7. Redis入门很简单之五【Jedis和Spring的整合】
  8. python selenium自动化测试报告
  9. 原生js实现拖拽效果
  10. 解决:The “https://packagist.laravel-china.org/packages.json” file could not be downloaded