基于X5内核的UI自动化
前言
最近无论是在微信、QQ浏览器、微信小程序还是加载X5内核的页面进行UI自动化,都会遇到X5内核自动化问题,这篇进行一个问题的总结。
基础介绍
1、什么是X5内核?
X5内核是腾讯基于优秀开源Webkit深度优化的浏览器渲染引擎,搭载在最新一代的手机QQ浏览器上,更快,更便捷。 --百度百科
2、什么是webview?
Webview是用来展示网页的view组件,使用webkit渲染引擎来展示内容,可以简单理解为手机中的一个高性能内核浏览器的组件,微信自带浏览器用的是QQ浏览器X5内核,因此微信、QQ浏览器、小程序、公众号等,自然会涉及到X5内核。
3、如何打开x5内核调试开关?
在微信任意聊天窗口输入 debugx5.qq.com,打开页面勾选‘打开TBS内核Inspector调试功能’,重启后自动生效
4、查看webview页面元素的两种方法
1) chrome浏览器访问 chrome://inspect/#devices(如果没有出现,需要翻墙)
可以看到包含该com.tencent.mm 的几个进程,括号中标记的数字则代表当前安卓系统的chrome版本号。
2)可以通过腾讯TBS调试工具
下载地址:https://x5.tencent.com/tbs/guide/debug/season1.html
5、需要根据对应的Chrome版本下载对应的chromedriver版本
chromedriver下载地址:https://chromedriver.storage.googleapis.com/index.html
chrome版本和chromedriver版本对应图参照如下:
具体编写用例
1、appium
ChromeOptions chromeOptions = new ChromeOptions();chromeOptions.setExperimentalOption("androidProcess", "com.tencent.mm:tools");capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
需要在chromeOptions中加入你所测试的微信进程。
driver.context("WEBVIEW_com.tencent.mm:tools");
跑到X5内核页面之前,切换context就行了。
2、robotframework
${chromeOptions} create dictionary ${androidProcess} ${com.tencent.mm:tools}
open application chromeOptions=${chromeOptions}
Switch To Context WEBVIEW_com.tencent.mm:tools
其他问题
1、替换chromedriver的位置
打开appium路径Appium/node_modules/appium/node_modules/appium-chromedriver/chromedriver/win,将下载好的chromedriver.exe替换旧的chromedriver.exe
2、如何获取测试页面的进程
appium做UI自动化时默认上下文是NATIVE_APP。
打开你需要测试的页面
adb shell dumpsys activity top | grep ACTIVITY
可以获取到一个pid
adb shell ps 获取到的pid
即可看到你需要的那个进程。
记得关注公众号呀~
基于X5内核的UI自动化相关推荐
- pythonapp自动化_基于python的App UI自动化环境搭建
Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows: 1.系统变量→新建 JAVA_HOME 变量 E:\Java\jdk1.7.0 jdk安装目录 2.系统 ...
- 基于airtest的安卓ui自动化实践
在tester home上初识airtest感觉很惊艳,最近想给组里的同学分享一下,仔细研究了一番.分享之后,发现他们练习做的还很不错. 莫非我真的有教书育人的能力?(天真脸) 分为四个部分讲解:ai ...
- 基于图像识别原理的UI自动化工具——Airtest入门
一.背景 1当前UI自动化面临的问题 难以使用一套工具对移动端.web端.桌面端进行自动化测试 版本更新页面改动较大,自动化脚本的维护成本高 图片内容难以验证 2 解决方案 用图像识别方法代替传统坐标 ...
- 基于Appium+Pytest的UI自动化实例(Android)
基于Python3 Appium+Pytest的UI自动化实例(Android) 春有百花秋有月,夏有凉风冬有雪 若无闲事挂心头,便是人间好时节 第一部分:所需环境的配置 所需软件网盘链接(提取码19 ...
- Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...
- 基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框
alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理. 而现在webdriver对这些弹出框做了专门的处理,使用selen ...
- java实现浏览器ui中的收藏夹_基于Selenium2+Java的UI自动化(2) - 启动浏览器
一.准备工作 我们常用的浏览器主要有三个:chrome.Firefox.IE:其中chrome 和 IE 需要下载驱动程序,才能启动浏览器,注意驱动程序有32位和64位两种. 另外:如何查看本机的浏览 ...
- FlaUI, 面向. NET的UI自动化库
源代码名称:FlaUI 源代码网址:http://www.github.com/Roemer/FlaUI FlaUI源代码文档 FlaUI源代码下载 Git URL: 复制代码 git://www.g ...
- Web UI自动化之Excel用例读取
基于Selenium的Web UI自动化实现(java) 本文讲解了如何从 Excel 表格中读取测试用例并在 TestNG 中执行.使用的例子是打开百度首页,输入用户名和密码,完成登录. Excel ...
最新文章
- Apache Mahout中推荐算法Slope one源码分析
- Quartus II13.1安装教程
- 常见的邮件服务器有哪三种,常见邮件服务器的种类有哪些?分别用什么协议?,常见服务器类型...
- java rest框架_比较Java REST文档框架
- 扫地机器人的特点描写_扫地机器人的特点和作用
- 编程随想 关系图_IT什么岗位比较好找工作?一张金字塔图就能明白
- android.os.NetworkOnMainThreadException 异常处理
- Android开发技巧:给Button的点击上色
- Android 直接生成实体类工具GsonFormat,一键生成实体类,对象;GsonFormat插件安装步骤gsonformatplus生成对象报错解决;jason,json
- 数学建模常用模型之秩和比综合评价法
- android手机常用浏览器,Android手机 三大浏览器对比评测
- 【线代】矩阵转置性质及代码证明
- IDEA 复制当前行到下一行
- Qt QPainter CompositionMode解读及图片透明度设置
- 0011 绝对值函数
- 小米2s解决充电过热的方法
- 联网常见通信协议与通讯协议梳理- 通讯协议
- python总结与习题(一)
- wndows 系统变量
- 如何对台式计算机 笔记本进行日常维护,笔记本电脑日常怎么保养?这些方法别错过了...