=
调试x5的webview报错呀。
感谢作者分享:Appium 微信 webview 的自动化技术。
=
chrome版本问题检查
TODO
配置本地host,否则白屏等等问题
#for chrome inspect
61.91.161.217 chrome-devtools-frontend.appspot.com
61.91.161.217 chrometophone.appspot.com
为什么,可以看看这篇文章 https://blog.csdn.net/u010246360/article/details/80949486
一定要在微信中打开调试功能
用微信打开debugx5.qq.com, 这是个微信的x5内核调试页面. 你可以在任何聊天窗口内输入这个网址. 并打开它.
勾选"是否打开TBS内核Inspector调试功能"
使用ChromeDriver编写测试用例
首先安装ChromeDriver
从官方下载或者从你的appium的安装路径里面找chromedriver. 在appium的执行日志里面其实也会打印chromedriver的路径的
然后在电脑上启动它, 设置好端口
chromedriver --url-base=wd/hub --port=8000
可以使用selenium或者appium的客户端去编写测试用例.
如下是我的scalatest的测试用例. 大家可以自己用其他的语言实现
test("test chromedriver weixin") {
val options = new ChromeOptions()
options.setExperimentalOption("androidPackage", "com.tencent.mm")
options.setExperimentalOption("androidUseRunningApp", true)
options.setExperimentalOption("androidActivity", ".plugin.webview.ui.tools.WebViewUI")
options.setExperimentalOption("androidProcess", "com.tencent.mm:tools")
val capability = DesiredCapabilities.chrome()
capability.setCapability(ChromeOptions.CAPABILITY, options)
val url = "http://127.0.0.1:8000/wd/hub"
val driver = new AndroidDriver[WebElement](new URL(url), capability)
driver.get("https://testerhome.com/topics/6954")
println(driver.getPageSource)
driver.quit()
}
使用appium编写测试用例
有人会经常问为什么android上appium不能自动化微信webview, 其实是可以的. 主要是目前的appium有个bug导致的.
在appium中context的切换时, 没有带上一个关键的androidProcess配置导致的.
他会导致appium识别webview的时候, 把com.tencent.mm:tools的webview识别成com.tencent.mm的webview. 从而导致context切换失败.
正确的用appium测试微信h5的方法如下
test("test weixin h5") {
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("unicodeKeyboard", "true")
//capability.setCapability("resetKeyboard", "true")
//关键是加上这段
val options = new ChromeOptions()
options.setExperimentalOption("androidProcess", "com.tencent.mm:tools")
capability.setCapability(ChromeOptions.CAPABILITY, options)
val url = "http://127.0.0.1:4723/wd/hub"
val driver = new AndroidDriver[WebElement](new URL(url), capability)
println(driver.getPageSource)
driver.findElementByXPath("//*[@text='我']").click
driver.findElementByXPath("//*[@text='收藏']").click
driver.findElementByXPath("//*[contains(@text, '美团外卖')]").click
println(driver.getPageSource)
println(driver.getContextHandles)
driver.context("WEBVIEW_com.tencent.mm:tools")
println(driver.getPageSource)
}
最关键的就是这句
val options = new ChromeOptions()
options.setExperimentalOption("androidProcess", "com.tencent.mm:tools")
capability.setCapability(ChromeOptions.CAPABILITY, options)
后记
之前测试加上ChromeOptions配置的时候没有成功, 我以为是appium不支持ChromeOptions, 就给appium-android-driver提交了一个PR
后来jlipps提醒了我一下
Appium其实是支持ChromeOptions的
结论也就是现在的Appium其实是可以完美的做微信自动化的
我在想我是不是国内第一个提供微信webview自动化方法的人
借鉴此思路的同学转发请注明原链. https://testerhome.com/topics/6954
=
=
=
相关推荐
`appium_selector`可能内置了优雅的异常处理机制,帮助开发者更好地理解和调试测试失败的原因。 5. **兼容性**:作为Appium的扩展,`appium_selector`应该兼容Appium支持的所有平台,包括iOS和Android,以及不同...
本篇文章将深入探讨名为`appium_selector`的Python库,该库是版本1.0.14的压缩包文件,主要应用于移动应用自动化测试领域。在了解这个库之前,我们先来认识一下Python和其强大的后端开发能力。 Python是一种高级...
资源分类:Python库 所属语言:Python 资源全名:Appium_Python_Client-2.0.0rc3-py3.9.egg 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
【Appium 自动化测试:Appium 知识详解】 Appium 是一款开源的自动化测试框架,用于测试原生、混合以及...这个文档“appium_auto_testing.doc”应该包含了详细的操作步骤和示例,是初学者了解和掌握Appium的宝贵资源。
在本案例中,我们关注的是Appium在Windows操作系统上的版本,即"Appium_windows_1.15.1.rar"。 这个压缩包"Appium_windows_1.15.1.rar"包含的主要文件是"Appium-windows-1.15.1.exe",这是一款适用于64位Windows...
APPIUM_SDK_20131030 完整包
这个压缩包“Appium_Windows_1.4.16.1”是Appium的一个特定版本,专为Windows操作系统设计。让我们深入探讨一下Appium的核心特性、功能以及如何在Windows环境下设置和使用它。 Appium 的主要特点: 1. **跨平台性**...
APPIUM_SDK_20131030 完整包
APPIUM_SDK_20131030_3 完整包
APPIUM_SDK_20131030 完整包
APPIUM_SDK_20131030_7 完整包
Mac 上使用的,appium_desktop_1.3.1,方便客户端连接
_appium_UI_自动化测试框架_appium-python3
appium_20131030_09 _SDK
Appium_selenium_java: 获取处理android listview、ScrollView、recyclerview 等 list item控件下子元素遍历方法
PYTHON 安卓自动化测试appium资料;供学习自动化测试参考。 第一章 Appium简介 第二章 测试环境搭建 第三章 Appium API介绍 第四章 Appium真机运行测试用例讲解 第五章 自动化测试用例的实施
appium_selenium_python_自动化UI测试_appiumn_auto
APPIUM_SDK_20131030_6 完整包
这个“Appium_全套工具.zip”压缩包显然包含了运行和配置Appium所需的组件,让我们一一解析这些文件: 1. **update.bat**:这是一个批处理文件,通常用于自动化执行一系列命令行操作。在Appium的上下文中,它可能是...