本文主要讲解一下使用appium操作微信小程序的流程
要使用appium进行自动化第一步当然是配置好appium环境,这块我就不在这里细讲了,直接开始吧;
ps:新版微信不再需要手动开启X5内核了

1、配置desired_capabilities

  • 注意点:
    1. 要操作微信小程序,则需要先进入到微信小程序
    2. 要先查看微信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、小程序能共用。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐