appium不能获取webview内容的解决办法

在用appium对小猿搜题app进行自动化测试时,准备用page_source打印出文章的xml内容

但是发现只能打印出外部结构内容,实际的文章内容却没有显示

截图如下

查询之后,得知需要通过contexts获取所有的context,然后通过switch_to.context()切换到对应的context下便可获取

通过打印context,结果如下

显示只有一个NATIVE_APP,并没有其他的webview信息

又经过一番查询,得知只有在android4.4及以上版本的系统中才会输出更多的webview

因此时用的安卓模拟器为夜神,系统为android4.4.2,猜测系统应该没问题

但是抱着试一下的态度,下载并安装了逍遥安卓模拟器(android版本为4.4.4)

测试结果如下

意外的输出了另外两个context

猜测应该是不同的模拟器对安卓系统有不同程度的修改

接着通过switch_to.context()依次切换这三个context,得到了需要的正文内容

通过此次经历,继续学习了appium的相关自动化测试,对移动端的自动化测试也有了更深一层的认识。

时间: 2024-10-27 12:07:57

appium不能获取webview内容的解决办法的相关文章

kindeditor编辑器 编辑器textarea不能获取到内容的解决办法

默认的老旧编辑器很多问题,今天工作量稍微小点,就准备把自身的一套cms换下编辑器.结果换的时候发现kindeditor在asp下居然获取不到textarea内的内容. <script charset="utf-8" src="/editor/kindeditor.js"></script>  <script charset="utf-8" src="/editor/lang/zh_CN.js"&g

iOS 【终极方案】精准获取webView内容高度,自适应高度

前言:是这样的,刚写完上一篇文章还没缓过神来,上一篇文章我还提到了,想和大家聊聊原生+H5如何无缝连接的故事.结果我朋友就给我发了两篇他的作品.他的做法也都有独到之处.好的文章都是这样,让你每次看都能有新的收获,我们也都致力于写一些能帮别人解决问题的文章,下面我用另一种方式来完美实现这个问题.毕竟之前大家都是根据UIWebView写的,我来说说换成WK之后的区别,主题思路也不同哦~ 插两个链接,是我朋友的大家也可以做个对比 iOS [终极方案]精准获取webView内容高度,自适应高度 iOS

IE下iframe中使用滤镜document.selection.createRange().text获取不到值得解决办法

通常的写法是select方法后跟一个blur方法,但是这里我们不能使用blur方法,应该将blur改为window.parent.document.body.focus(); IE下iframe中使用滤镜document.selection.createRange().text获取不到值得解决办法,布布扣,bubuko.com

IIS7错误:“Web服务器被配置为不列出此目录的内容”的解决办法

IIS7错误:“Web服务器被配置为不列出此目录的内容”的解决方法: 在"操作"下,点启用,此按钮将变成禁用,则可消除此错误 IIS7错误:"Web服务器被配置为不列出此目录的内容"的解决办法,布布扣,bubuko.com

php date()获取的时间不对解决办法

因为php默认获取的是格林威治时间,与北京时间相差8小时. 我们要获取到北京时间有两个办法: 1.修改php.ini配置文件: 打开php.ini文件,一般在php配置根目录下,找到其中的 ;date.timezone,删掉前面的分号,并改为date timezone = PRC.保存,重启Apahce服务即可(有时用restart会有问题,先stop然后start就行了). 2.使用date_default_timezone_set(timezone_identifier)函数: 在获取时间的

WebAPI中无法获取Session对象的解决办法

在MVC的WebApi中默认是没有开启Session会话支持的.需要在Global中重写Init方法来指定会话需要支持的类型 public override void Init() { PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest; base.Init(); } void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e) { H

SnagIt截图后无法在编辑器打开,不显示截图内容的解决办法

方法1: 用SnagIt截图后,弹出的编辑器里不显示刚才截图的内容,解决办法如下: 完全退出Snagit和编辑器,删除以下文件夹下的所有文件和文件夹: Win7用户 C:\Users\Your Username\AppData\Local\TechSmith\SnagIt XP用户  C:\Documents and Settings\Your Username\Local Settings\Application Data\TechSmith\SnagIt (注意:关闭文件夹隐藏选项,不然又可

安卓模拟器Android SDK Manager 无法获取SDK列表的解决办法

1.打开运行Android SDK Manager ,Tool菜单,选择Options,打开设置菜单,勾选“Force https://...sources to be fetched using http://...”,,然后点Close关闭,如下图: 2.设置hostes文件能电脑能正常访问Google下载中心 打开C:\Windows\System32\drivers\etc文件夹,双击hosts文件,选择使用记事本打开,把以下代码加到hosts文件中. 74.125.113.121 de

iOS【野路子】精准获取webView内容高度,自适应高度

关于WebView内容高度的获取,相信很多人都踩过坑,无法获取到准确高度,导致页面布局出现差错,搜到的资料很多但都无法解决问题,以下是个人经验总结: 项目需求实现H5文章&原生评论效果,文章是加载H5链接,评论信息是后台接口提供,以列表形式展示. 实现思路: 1. webView加载H5链接,设置它为tableView的 headerView,下方评论信息用Cell加载展示. 2. 在webView的回调方法webViewDidFinishLoad中获取网页内容高度,设置为webView的高度,