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

发表于:2017-1-26 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:seveniruby    来源:51Testing软件测试网采编

  微信小程序结构
  其实微信小程序不过是正常的webview而已. 只是产品概念上的不同. 本质还是h5.
  所以用appium是可以进行自动化的.
  以我们美团外卖为例. 查看结构就可以看到小程序的dom结构.
  欢迎大家使用美团外卖小程序(此处应有广告词)
  自动化用例的调整
  · webview的进程名是com.tencent.mm:appbrand1
  · webview的element需要通过devtool等工具进行分析
  具体的细节可参考我之前写过 微信 webview 的自动化技术
  示例代码
  简单写个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进行微信小程序的自动化测试的例子.
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 15210656269
    2017-7-21 10:05:50

    请问通过driver.context("WEBVIEW_com.tencent.mm:tools")不能切换到webview是怎么回事呢
    使用println(driver.getContextHandles)能打印出来"WEBVIEW_com.tencent.mm:tools"

  • 胖烁
    2017-5-26 09:46:11

    好文

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号