使用 appium 进行微信小程序的自动化测试

目录

前言:

微信小程序结构

自动化用例的调整

示例代码

后记


前言:

微信小程序是一种流行的移动应用程序,它在移动设备上提供了丰富的功能和用户体验。为了确保微信小程序的质量和稳定性,自动化测试是必不可少的一环。Appium是一个强大的自动化测试工具,可以用于测试微信小程序。

微信小程序结构

其实微信小程序不过是正常的 webview 而已. 只是产品概念上的不同. 本质还是 h5.
所以用 appium 是可以进行自动化的.

以我们美团外卖为例. 查看结构就可以看到小程序的 dom 结构.

欢迎大家使用美团外卖小程序 (此处应有广告词)

自动化用例的调整

  • webview 的进程名是 com.tencent.mm:appbrand1
  • webview 的 element 需要通过 devtool 等工具进行分析

示例代码

简单写个 demo 给大家. 我本地是测试通过的. 代码是 scala. 大家自行用自己的语言去实现吧.
关键就是那句

val options = new ChromeOptions()
options.setExperimentalOption("androidProcess", "com.tencent.mm:appbrand1")
capability.setCapability(ChromeOptions.CAPABILITY, options)

测试用例代码

test("测试微信小程序") {
  val capability = new DesiredCapabilities()
  capability.setCapability("app", "")
  capability.setCapability("appPackage", "com.tencent.mm")
  capability.setCapability("appActivity", ".ui.LauncherUI")
  capability.setCapability("deviceName", "emulator-5554")
  capability.setCapability("fastReset", "false")
  capability.setCapability("fullReset", "false")
  capability.setCapability("noReset", "true")
  capability.setCapability("automationName", "appium")
  capability.setCapability("platformName", "android")

  val options = new ChromeOptions()
  options.setExperimentalOption("androidProcess", "com.tencent.mm:appbrand1")
  capability.setCapability(ChromeOptions.CAPABILITY, options)

  val url = "http://127.0.0.1:4723/wd/hub"
  val driver = new AndroidDriver[WebElement](new URL(url), capability)
  driver.findElementByXPath("//*[@text='发现']").click
  driver.findElementByXPath("//*[@text='小程序']").click
  driver.findElementByXPath("//*[contains(@text, '美团外卖')]").click
  println(driver.getContextHandles)
  driver.context("WEBVIEW_com.tencent.mm:tools")
  Thread.sleep(5000)
  println(driver.getPageSource)
  driver.findElementByXPath("//*[contains(@url, '美食')]").click()
  driver.findElementByXPath("//*[contains(., '金百万')]").click()
}

后记

这是行业第一篇用 appium 进行微信小程序的自动化测试的例子.

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(软件测试相关资料,自动化测试相关资料,技术问题答疑等等)

相信能使你更好的进步!

点击下方小卡片

你可能感兴趣的:(软件测试工具,软件测试,自动化测试,appium,微信小程序,小程序,python,pytest,开发语言,windows)