博客
关于我
Python + Appium 自动化操作微信入门(超详细)
阅读量:805 次
发布时间:2023-03-05

本文共 2424 字,大约阅读时间需要 8 分钟。

Appium自动化测试工具入门及微信操作实例

环境配置

JDK配置

  • 下载地址:访问Oracle官方下载页面,获取JDK 8安装包。
  • 环境变量配置
    • 新建JAVA_HOME变量,路径设为JDK安装目录。
    • 在系统路径中添加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin%
    • 新建CLASSPATH变量,值为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar%

Android SDK配置

  • 下载地址:访问开发者工具官网,获取Android SDK。
  • 环境变量配置
    • 新建ANDROID_HOME变量,路径设为Android SDK安装目录。
    • 系统路径中添加%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\30.0.0-preview;%ANDROID_HOME%\platform-tools%

Appium安装

  • 下载地址:访问GitHub releases,获取Appium客户端。
  • 安装Python库:使用pip安装appium-python-client
  • 配置Appium:启动Appium后,设置JDK和Android SDK路径。

Momo 模拟器配置

  • 下载地址:访问51xiazai官网,获取Momo模拟器。
  • 安装与连接:-安装完成后,打开Appium,输入虚拟设备信息。-在命令行执行adb connect 127.0.0.1:7555,确保模拟器连接成功。

使用说明

启动Appium

  • 启动Appium后,点击“启动服务器”,进入测试界面。

微信操作

添加好友

代码示例:

desired_caps = {    "platformName": "Android",    "deviceName": "emulator-5554",    "platformVersion": "6.0.1",    "appPackage": "com.tencent.mm",    "appActivity": "com.tencent.mm.ui.LauncherUI",    'noReset': True,    'unicodeKeyboard': True,    'resetKeyboard': True}driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)time.sleep(10)# 点击+号driver.find_element_by_id('com.tencent.mm:id/ef9').click()time.sleep(5)# 选择添加朋友driver.find_elements_by_id('com.tencent.mm:id/gam')[1].click()time.sleep(5)# 搜索框点击driver.find_element_by_id('com.tencent.mm:id/fcn').click()time.sleep(5)# 输入微信号driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('ityard')time.sleep(3)# 搜索driver.find_element_by_id('com.tencent.mm:id/ga1').click()time.sleep(3)# 添加到通讯录driver.find_element_by_id('com.tencent.mm:id/g6f').click()

发送消息

代码示例:

# 发送消息driver.find_element_by_id('com.tencent.mm:id/f8y').click()time.sleep(10)# 输入搜索信息driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('Python小二')time.sleep(3)# 点击搜索到的好友driver.find_element_by_id('com.tencent.mm:id/tm').click()time.sleep(3)# 输入文字driver.find_element_by_id('com.tencent.mm:id/al_').send_keys('hello')time.sleep(3)# 选择表情driver.find_element_by_id('com.tencent.mm:id/anz').click()time.sleep(3)# 发送消息driver.find_element_by_id('com.tencent.mm:id/rv').click()time.sleep(3)# 发送按钮driver.find_element_by_id('com.tencent.mm:id/anv').click()driver.quit()

元素定位方法

通过Appium的ID获取元素,使用find_element_by_idfind_elements_by_id,如:

element = driver.find_element_by_id('com.tencent.mm:id/xx')# 多个元素使用find_elements_by_id获取列表elements = driver.find_elements_by_id('com.tencent.mm:id/xx')

注意事项

  • 模拟器反应较慢,适当增加time.sleep时间。
  • 保持ADB连接稳定,确保模拟器正常运行。

最后感谢

感谢每一位关注我的读者,希望本文能为您提供实用的解决方案。如需进一步帮助,请随时联系。

转载地址:http://kiafk.baihongyu.com/

你可能感兴趣的文章
PYTHON调用大模型实现图片生成
查看>>
python yaml.dump 缩进错误
查看>>
Python yield generator
查看>>
Python yield 使用浅析
查看>>
Python yield解析:深入理解生成器的魔力
查看>>
Python You are using pip version 10.0.1, however version 19.3.1 is available.
查看>>
python zipfile模块学习笔记(一)
查看>>
Python zip函数 详解(全)
查看>>
Python \r\n与\n的转换
查看>>
python __new__中单例的作用
查看>>
python | aiofiles,一个超酷的 Python 库!
查看>>
python | akshare,一个超强的 开源Python 金融数据接口库!
查看>>
python | alabaster,一个强大的 关于alabaster 主题 Python 库!
查看>>
python | algorithms,一个超赞的 集合常用算法的Python 库!
查看>>
python调用jpype 报错:OSError JVM is already started和JVM cannot be restarted
查看>>
python | authlib,一个强大的 Python 库!
查看>>
python | awswrangler,一个高效的 Python 库!
查看>>
python | bashplotlib,一个有趣的Python库!
查看>>
python | bentoml,一个超级厉害的 模型部署 Python 库!
查看>>
python调用jar包的模块_python调用jar包
查看>>