博客
关于我
Python + Appium 自动化操作微信入门(超详细)
阅读量:799 次
发布时间: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 - 类 __hash__ 方法和集合
查看>>
Python - 轻松将文本文件内容转换为字典值/键
查看>>
Python - 递归和列表
查看>>
python -- 小数据池 is和 == 再谈编码
查看>>
Python -- 算法实现
查看>>
python --- 元组(tuple)
查看>>
python --- 列表(list)
查看>>
python --- 协程
查看>>
python --- 字符串 str
查看>>
python ----元组方法以及修改细节
查看>>
python ----字典dict
查看>>
python / 解决 pyinstaller 打包后运行时提示找不到模块的问题
查看>>
Python 10 个习惯用法,短平快第一期
查看>>
python 29day--异常处理及socket简介
查看>>
Python 3 中未定义名称“xrange“
查看>>
python进阶(5):魔术方法篇(1)
查看>>
Python 3 范围与 Python 2 范围
查看>>
Python 3 读取ini文件
查看>>
Python 3.0 使用 turtle.onclick
查看>>
Python 3.10 明年发布,看看都有哪些新特性?
查看>>