做网店去哪个网站货源好,六安网站建设六安,wordpress博客怎么用,德阳建设网站我们知道在Android App测试时#xff0c;当我们想把应用程序恢复的初始状态#xff0c;我们通常可以有以下几种做法#xff1a; 手动 到Setting - Apps - 单击我们要测得应用程序 - 选择Clear data 这样重新启动App的时候#xff0c;我们的程序就处于初始状态了…我们知道在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的数据。 参考资料 http://stackoverflow.com/questions/5544205/accessing-application-context-from-testsuite-in-setup-before-calling-getactivi http://stackoverflow.com/questions/4856955/how-to-programatically-clear-application-data 转载于:https://www.cnblogs.com/jinsdu/archive/2013/02/21/2919874.html