准备工作

  • 准备android4.4+版本以上的手机/模拟器

  • 在app源码中将webview调试模式打开

webview.setWebContentsDebuggingEnabled(true);
  • 安装UC开发者工具

查看ChromeDriver版本

进入设置->应用,点击显示系统进程

显示系统进程

找到Android System WebView,它的版本也就是75.0.3770.143

Android System WebView

在chromedriver中找到对应的版本

https://npm.taobao.org/mirrors/chromedriver/?utm_source=testingpai.com

使用UC 开发者调试工具定位页面

https://dev.ucweb.com/docs/pwa/docs-zh/xy3whu

修改设置

设置

查看当前页面

查看Home

进入网页

@Test
public void test() {androidDriver.findElement(MobileBy.xpath("//*[@text='柠檬社区']")).click();System.out.println(androidDriver.getContextHandles());//[NATIVE_APP, WEBVIEW_com.lemon.lemonban]//切换到WEBVIEW_com.lemon.lemonbanandroidDriver.context("WEBVIEW_com.lemon.lemonban");//进入web页面点击注册按钮androidDriver.findElement(MobileBy.xpath("//span[contains(text(),'注册')]")).click();
}

微信小程序

由于腾讯系QQ/微信是基于腾讯自研的X5内核,不是谷歌原生webview,所以调试会有差异

微信小程序只能够支持手机,模拟器是不行的。

Step1:打开微信小程序webview开关

https://debugx5.qq.com/

http://debugmm.qq.com/?forcex5=true

Step2:UC开发者工具识别小程序的web元素信息

Step3:确认微信小程序对应的进程名

Step4:X5内核启动参数配置

// 支持X5内核应用自动化配置
desiredCapabilities.setCapability("recreateChromeDriverSession", true);
// ChromeOptions 使用来定制启动选项,因为在appium中切换context识别webview的时候,
// 把com.tencent.mm:toolsmp的webview识别成com.tencent.mm的webview
// 为了规避这个问题,加上androidProcess: com.tencent.mm:toolsmp
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("androidProcess","com.tencent.mm:appbrand0");
desiredCapabilities.setCapability(ChromeOptions.CAPABILITY,options);
// 初始化会默认将chrome浏览器打开,需要将Browser置为空
desiredCapabilities.setBrowserName("");

Step5:编写脚本实现自动化测试用例

注意:不清除微信的数据的方法

capabilities.setCapability("noReset", true);

Java自动化测试(Hybrid应用自动化 35)相关推荐

  1. java客户端程序用什么自动化测试_五大Java自动化测试框架

    51CTO官微 技术资讯/行业精华/产品心得 多年来,Java一直是服务器端应用开发的首选编程语言.随着时间的推移和自动化测试的兴起,业界出现了许多基于Java,并根据不同的业务逻辑而发展起来的开源框 ...

  2. 虫师selenium3+python自动化测试电子版_Selenium3 Java自动化测试实战 第三版.pdf

    <Selenium2Java 自动化测试实战(修正版)> Selenium3 Java 自动化测试项目实战 第三版( ) 作者:虫师 1 <Selenium2Java 自动化测试实战 ...

  3. Java中性能优化的35种方法汇总

    原文地址:http://www.jb51.net/article/102831.htm 前言 对程序员们来说,代码优化是一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于 ...

  4. Java自动化测试框架-11 - TestNG之annotation与并发测试篇 (详细教程)

    1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执 ...

  5. Java自动化测试框架-06 - 来给你的测试报告化个妆整个形 - (下)(详细教程)

    简介 经过上一次的化妆和整形,有客户提出需求能不能将那个普通会员的套餐再升级一下,再漂亮一点.所以这次咱们就来看看从哪里下刀可以使它变得再漂亮一点点. 上一篇文章修改了一些基本的ReportNG信息, ...

  6. java自动化测试成长日记-之CVS客户端和服务端安装和部署1:CVS服务端的配置和基本使用...

    CVS服务端的配置和基本使用 在做java自动化测试集成环境搭建的时候,无论怎样,你都会选择一个源代码管理工具,如:SVN,CVS,VSS等:但如果你使用Eclipse工具,建议你使用CVS源代码管理 ...

  7. Java自动化测试系列[v1.0.0][TestNG测试开发环境配置]

    基于之前写的一篇文章Java自动化测试系列[v1.0.0][Maven开发环境]的基础上,阐述如何配置单元测试框架TestNG的测试开发环境 创建Maven项目 启动IDEA,点击Create New ...

  8. 自动化测试和测试自动化你分的清楚吗?

    目录 目录 前言 两种自动化测试 为什么测试自动化对连续测试至关重要 使测试自动化成为现实 拥抱连续测试 总结 前言 当我们谈论持续测试,以及持续交付和DevOps时,"自动化"一 ...

  9. Java自动化测试调试中遇到的问题

    前言:记录下遇到的问题 Java自动化测试在调试中遇到的问题总结 1.遇到的Waring:must be unique [WARNING] 'dependencies.dependency.(grou ...

最新文章

  1. [SCOI2007]降雨量
  2. LeetCode Lexicographical Numbers(dfs)
  3. 理解MySQL--索引与优化(转载)
  4. Maven 私服搭建
  5. 值得借鉴的新年海报设计|PSD分层模板,图层素材随心用
  6. jira 查找issue_JIRA使用教程:高级搜索—字段参考4/4
  7. 硬件检测你用哪一款工具呢?
  8. Sharding-JDBC水平分库(水平数据库分片策略配置)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记010
  9. 13数据库表空间回收
  10. UItextView使用详解
  11. Echart报错: Map china not exists. You can download map file on
  12. ffmpeg之H265解码
  13. Spring Boot干货系列(一)入门篇
  14. 勒索病毒锁死文件加密
  15. Java实现微信公众号客服功能和本地联调
  16. 【电路理论】2-6 线性电阻电路解答的存在性与惟一性定理
  17. ABR算法研究综述 | A Survey on Bitrate Adaptation Schemes for Streaming Media Over HTTP(IEEE COMST‘18)阅读笔记
  18. dsp广告和信息流广告区别_信息流广告和dsp的区别在哪?
  19. 星聚宝—云服务器快速搭建网站(阿里云服务器举例)
  20. 你了解净水器滤芯知识多少?

热门文章

  1. Electronic Commerce_ywyuan_新浪博客
  2. 年会直播怎么做?直播方案助你一臂之力
  3. 【笔记】Spring Boot
  4. 苹果正式推出新Apple TV应用程序 支持三星新款智能电视
  5. C语言float和double的区别
  6. 银行业评分卡制作——IV、WOE
  7. CDGA/CDGP数据治理认证班将于2/4正式开课,报名从速!
  8. 实验七 路由器的基本配置
  9. 使用3sigma原则去除数据表中的极端值
  10. 预处理声明一个常数,用以表明 1 年有多少秒的问题(忽略闰年)