TakeScreenshotException: Failed to capture a screenshot

 2023-09-05 阅读 71 评论 0

摘要:   在日常的 App 测试中,有时会遇到页面永远跳转不到你想测试的界面,无论用 uiautomatorviewer (图1) 还是 appiumdesktop (图2)去获取 elements的时候,还是有报错的信息。    App 出于安全考虑,不希望被用户截屏或者录

   在日常的 App 测试中,有时会遇到页面永远跳转不到你想测试的界面,无论用 uiautomatorviewer (图1) 还是 appiumdesktop (图2)去获取 elements的时候,还是有报错的信息。


   App 出于安全考虑,不希望被用户截屏或者录屏,如图3,所以使用FLAG_SECURE, 在禁止截屏的 Activity 的生命周期 onCreate() 方法中添加如下设置:


getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE)


getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)


   例如,要测试 图4的登录界面, 可以通过获取源代码 图5,6 得知, 在 ”用户" 和 “密码” 输入栏,都共同存在 class=“android.widget.EditText” 这样的属性,却有各种独立唯一的 id 属性,因此如果要分别定位这两个 element, 可以用之前博客介绍的 xpath 定位方法 或者直接用 独立的 id 去定位。


图1

在这里插入图片描述


图2

在这里插入图片描述


图3

在这里插入图片描述


图4

在这里插入图片描述


图5

在这里插入图片描述


图6

在这里插入图片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/800.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息