微信小程序自动化实战(appium+python)
本文主要讲解一下使用appium操作微信小程序的流程要使用appium进行自动化第一步当然是配置好appium环境,这块我就不在这里细讲了,直接开始吧;ps:新版微信不再需要手动开启X5内核了。
·
本文主要讲解一下使用appium操作微信小程序的流程
要使用appium进行自动化第一步当然是配置好appium环境,这块我就不在这里细讲了,直接开始吧;
ps:新版微信不再需要手动开启X5内核了
1、配置desired_capabilities
- 注意点:
- 要操作微信小程序,则需要先进入到微信小程序
- 要先查看微信webview使用谷歌驱动版本然后进行配置
谷歌驱动版本可以利用edge浏览器的工具(edge://inspect/#devices)进行查看
只要使用adb工具连上手机后,打开对应的小程序页面就能在浏览器中查看到如下信息
具体配置如下,可根据个人需要进行修改
capability: # 设备操作系统 "platformName": "Android" # 设备名称(随意填写) "deviceName": "HuaWeiP30" # 应用程序的包名 "appPackage": "com.tencent.mm" # 应用程序的启动页面 "appActivity": ".ui.LauncherUI" # 不重置app "noReset": "true" # 设置谷歌驱动地址 "chromedriverExecutable": "G:\\chromedriver\\chromedriver_86\\chromedriver.exe"
2、启动微信并进入小程序页面
前提: appium服务已启动、手机或模拟器已连接上(adb devices 中能查看到)
from appium import webdriver
def init_app(self):
"""初始化appium驱动"""
# capability是第一步定义好的
caps = cap_conf['capability']
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", self.caps)
driver.implicitly_wait(10)
def into_mini_main_page(self):
"""
进入小程序首页
"""
# 进入小程序的方式很多,可以根据自己的需要进行操作 find_and_click是我自己封装的方法
self.find_and_click(MobileBy.XPATH, "//*[@text='发现']") \
.find_and_click(MobileBy.XPATH, "//*[@text='小程序']") \
.find_and_click(MobileBy.XPATH, "//*[@text='京东购物']")
操作到以上步骤后再查看edge浏览器inspect工具应该就能看到如下图的页面
说明微信已经切到小程序页面了,我们程序也要切到对应webview页面:
# 切到对应的context driver.contexts可以拿到所有context
self.driver.switch_to.context('WEBVIEW_com.tencent.mm:appbrand0')
# 在上面页面可以看到有多个页面 我们还需要切到对应的页面中
for window in self.driver.window_handles:
self.driver.switch_to.window(window)
if ':VISIBLE' in self.driver.title:
break
执行完以上步骤就已经进入到了微信小程序页面了
3、进行小程序页面定位
在inspect工具中点击对应页面的inspect的按钮,就可以进入到对应的页面进行定位
ele = driver.find_element(By.XPATH, "//*[text()='京东超市']")
ele.click()
# 这里要注意一定要且换到当前展示的页面!!
for window in self.driver.window_handles:
self.driver.switch_to.window(window)
if 'https://h5.m.jd.com' in self.driver.title:
break
# 切换进来后就可以对京东超市页面进行定位
以上就是小程序的一些关键步骤,剩下的就和正常的UI自动化类似了,这里就不再介绍了;接下来大家就可以根据PO思想封装一套框架,最好是web、app、小程序能共用。
更多推荐
已为社区贡献4条内容
所有评论(0)