前言

最近无论是在微信、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自动化相关推荐

  1. pythonapp自动化_基于python的App UI自动化环境搭建

    Android端Ui 自动化环境搭建 一,安装JDK.SDK 二,添加环境变量 Widows: 1.系统变量→新建 JAVA_HOME 变量 E:\Java\jdk1.7.0 jdk安装目录 2.系统 ...

  2. 基于airtest的安卓ui自动化实践

    在tester home上初识airtest感觉很惊艳,最近想给组里的同学分享一下,仔细研究了一番.分享之后,发现他们练习做的还很不错. 莫非我真的有教书育人的能力?(天真脸) 分为四个部分讲解:ai ...

  3. 基于图像识别原理的UI自动化工具——Airtest入门

    一.背景 1当前UI自动化面临的问题 难以使用一套工具对移动端.web端.桌面端进行自动化测试 版本更新页面改动较大,自动化脚本的维护成本高 图片内容难以验证 2 解决方案 用图像识别方法代替传统坐标 ...

  4. 基于Appium+Pytest的UI自动化实例(Android)

    基于Python3 Appium+Pytest的UI自动化实例(Android) 春有百花秋有月,夏有凉风冬有雪 若无闲事挂心头,便是人间好时节 第一部分:所需环境的配置 所需软件网盘链接(提取码19 ...

  5. Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍

    1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...

  6. 基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框

    alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理. 而现在webdriver对这些弹出框做了专门的处理,使用selen ...

  7. java实现浏览器ui中的收藏夹_基于Selenium2+Java的UI自动化(2) - 启动浏览器

    一.准备工作 我们常用的浏览器主要有三个:chrome.Firefox.IE:其中chrome 和 IE 需要下载驱动程序,才能启动浏览器,注意驱动程序有32位和64位两种. 另外:如何查看本机的浏览 ...

  8. FlaUI, 面向. NET的UI自动化库

    源代码名称:FlaUI 源代码网址:http://www.github.com/Roemer/FlaUI FlaUI源代码文档 FlaUI源代码下载 Git URL: 复制代码 git://www.g ...

  9. Web UI自动化之Excel用例读取

    基于Selenium的Web UI自动化实现(java) 本文讲解了如何从 Excel 表格中读取测试用例并在 TestNG 中执行.使用的例子是打开百度首页,输入用户名和密码,完成登录. Excel ...

最新文章

  1. Apache Mahout中推荐算法Slope one源码分析
  2. Quartus II13.1安装教程
  3. 常见的邮件服务器有哪三种,常见邮件服务器的种类有哪些?分别用什么协议?,常见服务器类型...
  4. java rest框架_比较Java REST文档框架
  5. 扫地机器人的特点描写_扫地机器人的特点和作用
  6. 编程随想 关系图_IT什么岗位比较好找工作?一张金字塔图就能明白
  7. android.os.NetworkOnMainThreadException 异常处理
  8. Android开发技巧:给Button的点击上色
  9. Android 直接生成实体类工具GsonFormat,一键生成实体类,对象;GsonFormat插件安装步骤gsonformatplus生成对象报错解决;jason,json
  10. 数学建模常用模型之秩和比综合评价法
  11. android手机常用浏览器,Android手机 三大浏览器对比评测
  12. 【线代】矩阵转置性质及代码证明
  13. IDEA 复制当前行到下一行
  14. Qt QPainter CompositionMode解读及图片透明度设置
  15. 0011 绝对值函数
  16. 小米2s解决充电过热的方法
  17. 联网常见通信协议与通讯协议梳理- 通讯协议
  18. python总结与习题(一)
  19. wndows 系统变量
  20. 如何对台式计算机 笔记本进行日常维护,笔记本电脑日常怎么保养?这些方法别错过了...

热门文章

  1. 天地图解析(瓦片层级、比例尺、行列号计算)
  2. rtthread工业使用_rtthread使用总结
  3. 分享个救赎之地辅助脚本,挂机升级刷金币工具
  4. UG模具设计之挤压模具设计原则
  5. java 自由画线_自由画线实现不了
  6. 计算机类公务员竞争,考公务员最“吃香”的4个专业,考上几率大,把握住机会!...
  7. 数据可视化之Pyecharts制作酷炫图表
  8. OpenCV 图像处理 哈哈镜效果
  9. 金融公司申请互联网信息服务业务许可ICP证可以直接申请吗?
  10. 视频网站如何选择视频服务器呢?