Appium之WebView自动化
WebView的测试:主要作用在混合(Hybrid)的应用
* 一部分是原生界面和代码,而另一部分是内嵌网页
* 比如微信、支付宝
* 内嵌了一个浏览器内核,由浏览器内核实现的
安卓应用中的内嵌的展示网页内容的模块,我们称之为webview
准备工作:
app修改编译 ==== 需要添加webview调用 ---- 对webview对象加入setWebContentsDebuggingEnable的调用
直接让开发人员在下面这段代码中加入一句代码:
protected void onCrete(Bundle saveInstanceState){
super.onCreate(savedInstanceState);
WebView myWebView = (WebView) findViewById(R.id.xxxwebview);
myWebView.setWebContentsDebuggingEnabled(true); # 加上这句代码
};
如果不知道怎么说,简单总结一句话:“帮忙加一下webview的debug调用”就好。
webview有两种情况:
① webview的内容 不依赖所在app
方法:直接用chrome浏览器F12里面的手机模式打开对应的网页
- 只是打开一个url
- 直接使用chrome浏览器打开对应的网页
- 使用手机模式
② 被测应用webview与app原生有交互,依赖app
方法:通过chrome浏览器的远程调试功能(前提是本电脑可以正常上网)
详细步骤: - 确保被测试app在手机上打开
- 打开chrome浏览器,地址输入chrome://inspect
- 等待界面显示如下 ,这里就不截图了
Appium自动化webview:
* appium中把所有的界面环境 称之为context
* native部分的context名字一般为NATIVE_APP
* webview部分的context则为WEBVIEW_XXX (应用app package名)
* 我们怎么查看当前有哪些context呢? --------------- driver.contexts
* 而显示当前context的则是 ------------- driver.current_context
通知查看》》
安卓的系统通知在通知栏
打开通知栏 driver.open_notifications()
查看通知内容
返回应用 driver.press_keycode(4) # 返回键
Appium之WebView自动化的更多相关文章
- Appium 微信 webview 的自动化技术
Appium 微信 webview 的自动化技术 最近好多人问微信webview自动化的事情, 碰巧我也在追微信webview的自动化和性能分析方法. 先发出来一点我的进展给大家参考下. 此方法用 ...
- Appium切换webview时候报chromedriver版本问题
前言 用appium切换webview的时候报chrome和chromedriver版本的问题:session not created exception: Chrome version must b ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- android appium微信等自动化的那些坑儿
1.下载appium自动化安装环境: appium客户端 python语言支持 android studio(包含android sdk和adb) java开发环境 2.微信x5内核调试(网上有详细配 ...
- [小菜随笔]新手使用appium+python进行自动化测试过程中webdriver.Remote报错的错误分析方法(带实例)
很多人刚开始使用python+appium去执行APP自动化的时候经常会遇到webdriver.Remote,报错位置指向都是driver = webdriver.Remote('http://127 ...
- appium+Java+testng自动化框架搭建-第一季
app自动化越来越火,随着移动app的不断发展,手机端测试日益火爆,想成为一个高级软件测试工程师必须要掌握,那么我们今天就来搭建appium+Java+testng自动化测试框架. Appium环境搭 ...
- appium自动化测试框架——自动化启动多台设备思路梳理
今天,我们聊一聊如果自动化实现在多台设备上运行脚本. 一.首先我们回忆一下如何在一台设备上运行python脚本,一般分为三步 1.启动appium服务 2.创建驱动 3.运行python脚本 同样的, ...
- robotframework:appium切换webview后,在webview里滑动屏幕
问题: 在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5, 需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美 ...
- robotframework:appium切换webview后,在第一个页面操作成功,跳转到第二个页面后,执行命令失败
问题: 在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5, 需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美 ...
随机推荐
- JavaScript 运行原理
i{margin-right:4px;margin-top:-0.2em}.like_comment_tips .weui-icon-success{background:transparent ur ...
- Python 常用模块系列学习(1)--random模块常用function总结--简单应用--验证码生成
random模块--random是一个生成器 首先: import random #导入模块 print (help(random)) #打印random模块帮助信息 常用function ...
- ceph中rbd的增量备份和恢复
ceph中rbd的增量备份和恢复 ceph的文档地址:Ceph Documentation 在调研OpenStack中虚机的备份和恢复时,发现OpenStack和ceph紧密结合,使用ceph做O ...
- AE ArcEngine10.4+vs2012安装配置
准备内容 安装环境:win10*64位专业版,ArcGIS_Desktop_1041_151727,C#语言环境,visual studio2012 安装文件:ArcGIS_Engine_1041_1 ...
- 基于Galera Cluster多主结构的Mysql高可用集群
Galera Cluster特点 1.多主架构:真正的多点读写的集群,在任何时候读写数据,都是最新的 2.同步复制:集群不同节点之间数据同步,没有延迟,在数据库挂掉之后,数据不会丢失 3.并发复制:从 ...
- 2019-10-29:渗透测试,基础学习,sqlmap文件读取,写入,dnslog盲注作用,mssql手工注入,笔记
sqlmap参数--file-read,从数据库服务器中读取文件--file-write,--file-dest,把文件上传到数据库服务器中 dnslog平台的学习和它在盲注中的应用1,判断注入点2, ...
- C#Windows Forms 计算器--xdd
一.计算器 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...
- 基于 HTML5 + WebGL 的地铁 3D 可视化系统
前言 工业互联网,物联网,可视化等名词在我们现在信息化的大背景下已经是耳熟能详,日常生活的交通,出行,吃穿等可能都可以用信息化的方式来为我们表达,在传统的可视化监控领域,一般都是基于 Web SCAD ...
- mysql中运用条件判断筛选来获取数据
### part1 单表查询 sql查询完整语法: select .. from .. where .. group by .. having .. order by .. limit .. 一.wh ...
- Chapter 05—Advanced data management(Part 2)
二. 控制流 statement:一个单独的R语句或者是一个复合的R语句: cond:条件表达式,为TRUE或FALSE: expr:数字或字符表达式: seq:数字或字符串的顺序. 1.循环语句:f ...