微信小程序> Appium之测试微信小程序Webview

Appium之测试微信小程序Webview

浏览量:535 时间: 来源:weixin_34208283

一、准备工作

1.手机与电脑USB连接,开启USB调试模式,通过adb devices可查看到此设备。

2.电脑端、移动端安装chrome浏览器。(尽量保证移动端chrome版本低于电脑端)

3.App webview开启debug模式

4.在电脑端Chrome浏览器地址栏输入chrome://inspect/#devices,进入调试模式:

此时页面显示了手机型号、驱动名称、APP要调试的WebView名称

点击inspect,若成功加载与APP端相同界面的调试页面,则配置成功

若获取不到WebView或者调试页面预览框显示空白,则需要进行VPN破解–安装FQ软件(由于默认的DevTools使用的是appspot服务器,这在国内是需要翻越GWF)

尝试解决方法:

在windows host文件中增加:

61.91.161.217  chrome-devtools-frontend.appspot.com

61.91.161.217    chrometophone.appspot.com

使用FQ软件,如Lantern蓝灯

5.微信小程序:这里我使用“抽奖助手”

二、打开调试功能

1.在微信中输入:debugx5.qq.com并打开进入如下界面(或者直接扫下面二维码):debugx5.qq.com, 这是个微信的x5内核调试页面. 你可以在任何聊天窗口内输入这个网址

小程序微信X5调试页面1

2.在上述页面的信息栏中勾选【打开TBS内核Inspector调试功能】,如下图所示,点击后会提示重启后生效。退出微信后再次进入微信即为设置成功。

小程序微信X5调试页面2

三、查看设备名和页面元素

1.手机端进入开发者模式,选择USB调试模式,手机连接电脑,查看是否连接成功。在电脑端输入CMD指令查看设备名称是否存在:adb  devices,如下图

小程序devices

2.打开进入微信,进入任意小程序,以【抽奖助手】为例,在Chrome浏览器中访问chrome://inspect/#devices

小程序inspect页面

3.点击inspact,即可查看页面元素(记住:一定要用翻墙软件翻墙才能显示H5界面

小程序查看界面元素1小程序查看页面元素2

4.查看微信小程序的进程

微信有很多的进程,每一个小程序都运行在不同的进程中。进入【抽奖助手】小程序界面后,看下当前运行在哪个进程中,在电脑端输入如下CMD指令:adb shell dumpsys activity activities d:log.txt    然后在D盘中的log.txt文档中搜索进程processName,如下图所示

小程序进程processName

我们可以看到,当前的小程序运行在com.tencent.mm:appbrand0中,记住这个进程。

四、编写测试用例

最关键的一点,需要添加androidProcess这一项,也就是我们上面的com.tencent.mm:appbrand0

以下是用python写一个简单的demo

#coding:utf-8

from appium import webdriver

import time

desired_caps = {} 

desired_caps = {    

'platformName': 'Android',    

'platformVersion': '23',   

'deviceName': 'Android Emulator',    

'unicodeKeyboard': 'True',    

'resetKeyboard': 'True',    

'appPackage': 'com.tencent.mm',    

'appActivity': 'com.tencent.mm.ui.LauncherUI',    

'chromeOptions': {'androidProcess': 'com.tencent.mm:tools'}

}  

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) 

time.sleep(10)

driver.find_element('name','发现').click()

time.sleep(10)

driver.find_element('name',"看一看").click()

time.sleep(10) 

#获取当前上下文

c=driver.contextsprint(c)

#输出结果['NATIVE_APP', 'WEBVIEW_com.tencent.mm:tools'] 

#切换为 webview,名称就是从上面的语句得来的

driver.switch_to.context('WEBVIEW_com.tencent.mm:tools') 

#获取h3标签的文本并打印出来

titles = driver.find_elements('tag name','h3')

print(titles[2].text)

注:测试APP一定要开启debug模式,否则会提示如下错误

小程序错误提示

参考来源

1.感谢seveniruby和qiqiqinqin的分享

2.Appium自动化测试之微信元素识别和代码实战

3.APP H5 混合自动化使用说明 [基于 Appium+Python 系列]

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎