返回顶部
首页 > 资讯 > 移动开发 >Android如何在测试程序中删除被测应用私有的原始数据
  • 803
分享到

Android如何在测试程序中删除被测应用私有的原始数据

程序私有的数据测试Android 2022-06-06 12:06:11 803人浏览 八月长安
摘要

  我们知道在Android App测试时,当我们想把应用程序恢复的初始状态,我们通常可以有以下几种做法:   手动   到Setting -> Apps -

  我们知道在Android App测试时,当我们想把应用程序恢复的初始状态,我们通常可以有以下几种做法:

  手动

  到Setting -> Apps -> 单击我们要测得应用程序 -> 选择Clear data

  这样重新启动App的时候,我们的程序处于初始状态了。

  命令行

  当然我们也是可以使用命令行来操作的,比如:

adb shell pm clear my.app.package

  只要把对应的包名,改成你自己的可以了。

  自动化

  要是能自动化更加完美了,这样我们可以在我们的自动化Case里添加相应的恢复App原始状态的代码了,如此我们可以保证我们的Case总是在一个一致的测试环境中,岂不更美?

  这里我找到了两种方法。

  方法一:在VBS脚本中添加代码,完成操作

Set objWsh = CreateObject("Wscript.Shell") objWsh.Run "adb shell pm clear my.app.package",1, True

  方法二:在Android Test Project中添加相应代码删除私有原始数据

Context context = this.getInstrumentation().getTargetContext().getApplicationContext(); Editor edit = context.getSharedPreferences(m_strPreferencesName, Context.MODE_PRIVATE).edit(); edit.clear(); edit.commit();

  当然我这里是删除名叫“m_strPreferencesName”的数据,如果我们想删除其他,或者所有的Share Preferences数据都是可以的。

  请注意:

  虽然Java 有Java.lang.runtime,我们可以通过它在运行时去执行Command命令,完成一些操作,但是在Android里,类似下面的代码不可以:

try         {             Runtime.getRuntime().exec("adb shell pm clear com.my.package");         }         catch(IOException ex)         {             ex.printStackTrace();         }

  这里不会抛任何异常,而且也不会清除App的数据。

  这是因为Andorid的安全机制不允许一个App去删除另一个App的数据。


--结束END--

本文标题: Android如何在测试程序中删除被测应用私有的原始数据

本文链接: https://lsjlt.com/news/28606.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作