qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          Android如何在測(cè)試程序中刪除被測(cè)應(yīng)用私有的原始數(shù)據(jù)

          我們知道在Android App測(cè)試時(shí),當(dāng)我們想把應(yīng)用程序恢復(fù)的初始狀態(tài),我們通常可以有以下幾種做法:

            手動(dòng)

            到Setting -> Apps -> 單擊我們要測(cè)得應(yīng)用程序 -> 選擇Clear data

            這樣重新啟動(dòng)App的時(shí)候,我們的程序就處于初始狀態(tài)了。

            命令行

            當(dāng)然我們也是可以使用命令行來(lái)操作的,比如:

          adb shell pm clear my.app.package

            只要把對(duì)應(yīng)的包名,改成你自己的就可以了。

            自動(dòng)化

            要是能自動(dòng)化就更加完美了,這樣我們就可以在我們的自動(dòng)化Case里添加相應(yīng)的恢復(fù)App原始狀態(tài)的代碼了,如此我們就可以保證我們的Case總是在一個(gè)一致的測(cè)試環(huán)境中,豈不更美?

            這里我找到了兩種方法。

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

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

            方法二:在Android Test Project中添加相應(yīng)代碼刪除私有原始數(shù)據(jù)

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

            當(dāng)然我這里是刪除名叫“m_strPreferencesName”的數(shù)據(jù),如果我們想刪除其他,或者所有的Share Preferences數(shù)據(jù)都是可以的。

            請(qǐng)注意:

            雖然Java 有Java.lang.runtime,我們可以通過(guò)它在運(yùn)行時(shí)去執(zhí)行Command命令,完成一些操作,但是在Android里,類似下面的代碼就不可以:

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

            這里不會(huì)拋任何異常,而且也不會(huì)清除App的數(shù)據(jù)。

            這是因?yàn)锳ndorid的安全機(jī)制不允許一個(gè)App去刪除另一個(gè)App的數(shù)據(jù)。

          posted on 2013-05-22 10:26 順其自然EVO 閱讀(1775) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2013年5月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 佛山市| 昂仁县| 平潭县| 虞城县| 永顺县| 芜湖县| 乌兰县| 吉安县| 黄石市| 汕头市| 南宁市| 旬邑县| 建水县| 白河县| 武山县| 盘锦市| 磐石市| 新乐市| 广平县| 云林县| 称多县| 淅川县| 长子县| 紫阳县| 扶沟县| 绥芬河市| 巢湖市| 乌拉特前旗| 黄浦区| 清涧县| 中牟县| 阜城县| 潜江市| 寿光市| 浦县| 梁平县| 定结县| 阳曲县| 时尚| 邵武市| 乌拉特中旗|