首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法在android 10设备上存储Espresso失败屏幕截图

问题:无法在Android 10设备上存储Espresso失败屏幕截图

答案:在Android 10设备上存储Espresso失败屏幕截图时,出现的问题是由于Android 10引入了更严格的文件访问权限控制。为了解决这个问题,我们可以采取以下步骤:

  1. 检查应用的清单文件(AndroidManifest.xml),确保已经声明了适当的文件读写权限。在<manifest>标签内添加以下权限声明:
代码语言:txt
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  1. 在测试代码中,使用MediaStore API保存屏幕截图。可以按照以下步骤进行操作:
  2. a. 使用Espresso进行屏幕截图,例如:
  3. a. 使用Espresso进行屏幕截图,例如:
  4. b. 创建一个方法来保存屏幕截图到MediaStore,例如:
  5. b. 创建一个方法来保存屏幕截图到MediaStore,例如:
  6. c. 调用上述方法将屏幕截图保存到MediaStore,例如:
  7. c. 调用上述方法将屏幕截图保存到MediaStore,例如:
  8. 最后,确保应用已经获得了存储权限,以便访问外部存储。可以在测试代码的@Before方法中添加以下代码:
代码语言:txt
复制
@Before
public void grantStoragePermission() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        InstrumentationRegistry.getInstrumentation().getUiAutomation().executeShellCommand("pm grant " + InstrumentationRegistry.getInstrumentation().getTargetContext().getPackageName() + " android.permission.WRITE_EXTERNAL_STORAGE");
    }
}

这样,就能够在Android 10设备上成功存储Espresso失败屏幕截图了。

在腾讯云的产品中,与Android开发相关的产品可以考虑使用以下产品:

  1. 腾讯移动测:可用于移动端自动化测试,包括Espresso测试,提供了丰富的测试工具和环境支持。 产品介绍链接:https://cloud.tencent.com/product/tmt
  2. 腾讯云移动推送:提供消息推送服务,可用于向Android设备发送通知消息。 产品介绍链接:https://cloud.tencent.com/product/tpns

请注意,这仅是腾讯云中的一些相关产品示例,其他厂商的云计算品牌商也提供类似的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Appium+python自动化(二十三)- 真假美猴王Monkeyrunner与Monkey傻傻的分不清楚

    看《西游记》第五十七回,说是“六耳猕猴”化作孙悟空的摸样,伤了唐僧,后又和孙悟空大打出手…… 这位假孙悟空,实力不用多说了吧,和真孙悟空一般无二,大战孙悟空,闹到上天入地下海。 在唐僧那:念紧箍咒,两个都喊疼,自然看不出哪个真假; 到天宫:拖塔天王拿照妖镜照,也看不出; 又到观音那:观音也看不出。最后到幽冥处阎罗那,经“谛听”听过之后,“谛听”却说:“我看出来了,却不敢说” 最后还是如来老佛爷道出六耳真身并用金钵盂罩住,才被孙悟空一棍子打死。想必各位小伙伴都看过这以精彩片段。不过据知情人士说真假美猴王存在阴谋,这里有黑幕:说是真的孙悟空被打死了,活下来的是假的。好了废话少说,还是回到今天的主题:真假美猴王Monkeyrunner与Monkey傻傻的分不清楚。

    04

    玩转手机自动化测试

    之前我们玩过一些手机自动化软件,比如Airtest,ADB,通过这些软件我们可以和自己的手机进行关联,并且使用程序来代替我们本人来操作手机,今天我们要说的是另一款给力的自动化APP,这里要介绍的并不是Windows平台上的可执行文件哦,而是Android平台上的JavaScript IDE,更重要的一点就是这个工具是国人开发的,必须支持一个不是。而且AutoJs兼容性更好,传统的按键精灵,脚本精灵,虽然上手快,门槛低,但是他们是以坐标为基础,很容易出现分辨率的问题,而AutoJs则是以控件为基础,因而更强大,并且我们在玩自动化时是不需要Root的;那么,废话不多说,赶快让我们一睹为快这款强大的IDE吧。

    00

    玩转手机自动化测试

    之前我们玩过一些手机自动化软件,比如Airtest,ADB,通过这些软件我们可以和自己的手机进行关联,并且使用程序来代替我们本人来操作手机,今天我们要说的是另一款给力的自动化APP,这里要介绍的并不是Windows平台上的可执行文件哦,而是Android平台上的JavaScript IDE,更重要的一点就是这个工具是国人开发的,必须支持一个不是。而且AutoJs兼容性更好,传统的按键精灵,脚本精灵,虽然上手快,门槛低,但是他们是以坐标为基础,很容易出现分辨率的问题,而AutoJs则是以控件为基础,因而更强大,并且我们在玩自动化时是不需要Root的;那么,废话不多说,赶快让我们一睹为快这款强大的IDE吧。

    04

    Android Q AMA: Everything we learned from Google

    如果您曾经使用过中国品牌的智能手机,那么您可能已经处理了令人讨厌的“电池优化”功能,这些功能会在后台杀死所有您喜欢的应用程序。对于那些希望某些应用程序因某种原因在后台继续运行的用户而言,这种行为不仅令人烦恼,而且对于那些不了解不是应用程序错误的用户的糟糕评论的开发人员来说也很烦人。虽然谷歌仍然没有完全解决这个问题(他们通过声称这种行为可能已经违反了Android兼容性定义文档的要求而挥之不去),该公司正采取行动反对一项“节省电池”的行为改变一些原始设备制造商。 “为了帮助解决这个问题,我们在Android Q中添加了一个CTS测试,以确保应用程序不会在从最近被刷新时被杀死。

    01
    领券