博客
关于我
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 pandas 数据清洗与数据绘图实战
查看>>
Python输出信息
查看>>
Python Pandas 用顶行替换标题
查看>>
Python pandas 通过 dt 访问器有效地将日期时间转换为时间戳
查看>>
Python Pandas-从DataFrame按类别绘制多个条形图
查看>>
Python Pandas:每月或每周拆分 TimeSerie
查看>>
python pandas中融化的对面
查看>>
python pandas从时间序列中提取唯一日期
查看>>
Python Pypi 修改 国内源(以豆瓣源为例)
查看>>
Python PyQt5 将不再显示此消息复选框添加到 QMessageBox
查看>>
Python PyQt5:如何使用 PyQt5 显示错误消息
查看>>
Python PYSFTP-以字符串/文本形式传递私钥,而不是传递文件路径
查看>>
Python pytest 面试题!
查看>>
Python pytz 时区函数返回一个相差 9 分钟的时区
查看>>
python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
查看>>
Python random和json模块
查看>>
Python random模块seed理解
查看>>
python range()函数
查看>>
Python rdflib可传递查询
查看>>
python redis 集群_python 搭建redis集群
查看>>