前言

最近无论是在微信、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. cat在MATLAB中的应用
  2. egg(113)--egg之登录成功跳转到登录之前的页面
  3. PIE SDK打开栅格数据
  4. 【Android 插件化】VirtualAppEx 编译运行 ( VirtualAppEx 简介 | 配置 VirtualAppEx 编译环境 | 编译运行 VirtualAppEx 代码 )
  5. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
  6. 读书笔记:锋利的JQuery
  7. java io读取文件夹_JavaIO利用迭代读取文件夹所有目录及文件
  8. 在XML里的XSD和DTD以及standalone的使用
  9. Markdown绘制思维导图
  10. 机器学习(周志华) 第五章神经网络
  11. mysql静默安装_mysql5.7静默安装
  12. pdf python 合同_Python实现将doc转化pdf格式文档的方法 如何用python代码生成pdf格式的合同文件...
  13. 【第一课】UAV倾斜摄影测量技术
  14. 一点点有的没的和一年总结
  15. MOOC —— Python语言基础与应用 by 北京大学 第九章 高级扩展模块
  16. 音量(DB)为什么都是负值
  17. 墨者学院-密码学加解密实训(摩斯密码第2题)
  18. 或许 心血来潮才有这样的好心情
  19. 李进良丁守谦论道4G:决不应三国纷争
  20. PHP之微信头像加水印

热门文章

  1. 西门子1200系列PLC的CANopen通信解决方案
  2. FL Studio 20.9最新水果中文版本更新评测
  3. Linux下用nvidia显卡实现硬解码的方法
  4. 电子信息工程就业方向及薪资标准【转载的】
  5. 【Life系列】【转】一个人最好的生活状态
  6. 获取抖音账户的UserID
  7. 阿里acp认证考试考试时间、题型和分数都在这
  8. 商务办公邮箱有哪些?怎么提升商务邮件沟通的技巧?
  9. 【CUDA】CUDA9.0 win10配置
  10. d继承链中忽略了模板插件