博客
关于我
Python + Appium 自动化操作微信入门(超详细)
阅读量:806 次
发布时间: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_id或find_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利用pytorch库导出图像分割算子
查看>>
python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
查看>>
python利用excel分析过杀漏失
查看>>
python判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>
python判断字符串包含中文_Python 判断字符串是否包含中文
查看>>
python删除第一行_Python 乱码指北:一行删掉根目录
查看>>
Python删除列表元素的三种方法
查看>>
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
查看>>
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>