qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Android Robotium搭建環境測試微信

          因為要在命令行下運行一些android的工具,所以配置一些環境變量會比較方便:
            遇到問題: java -jar re-sign.jar 出現提示android路徑沒有配置好:
            需要配置如下:
            配置ANDROID_HOME為android sdk的安卓目錄,例如:D:\android-sdk
            在path下添加這兩個:
            %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
            重新開關一次命令窗口
            在真機中安裝APK(以騰訊微信作為測試的apk)
            因為robotium要求被測應用和測試代碼要有一致的key,所以我們需要把下載到的apk,通過re-sign.jar來產生debug key的apk,這個重新生成的apk就會跟測試項目簽名一致了
            re-sign.jar可以從這里下載到:
            http://www.troido.de/re-sign.jar
            下載完后,在命令行下 通過 java -jar re-sign.jar就會出現一個節目,然后將apk拖到這個節目,就會自動生成一個debug key的apk
            產生新apk的過程中會彈出一個信息框,記得截下圖,因為里面有兩個信息我們等會的代碼中需要用到
            然后打開模擬器(模擬器器一定要打開才能安裝成功),然后打開命令行
            adb install mitalk_debug.apk(新生成apk的名稱)
            安裝成功就可以再模擬器里看到該應用的圖標了
            注意:
            一、刪除之前 APK 文件的簽名
            1、解壓apk 文件
            2、刪除解壓出來文件夾中的 META-INF 目錄:META-INF 存放簽名后的CERT 和MANIFEST 文件,用于識別軟件的
            簽名及版權。
            3、刪除文件夾后重新把解壓出來的其它文件夾壓縮為zip 文件,然后直接把文件后綴改為apk
            二、為 APK 重新生成簽名
            1、將證書復制到與需要重新簽名的apk 文件相同的目錄下
            2、jarsigner -keystore debug.keystore -storepass android -keypass android D:\Robotium\robotium\robotium\weixin_delet_rsa_sf.apk androiddebugkey
            創建自動化測試項目
            打開Eclipse,點擊File->New一個Android Test Project,然后點擊下一步的時候選擇This project(因為我們沒有米聊應用的源碼),然后選擇要在哪個android版本上測試
            在該項目下創建一個包,com.tencent.test,在該包下創建LoginTest類,如下
          package com.mitalk.test;
          import android.app.Activity;
          import android.test.ActivityInstrumentationTestCase2;
          import com.jayway.android.robotium.solo.Solo;
          @SuppressWarnings("rawtypes")
          public class LoginTest extends ActivityInstrumentationTestCase2 {
          public Solo solo;
          public Activity activity;
          private static Class<?> launchActivityClass;
          // 對應re-sign.jar生成出來的信息框里的兩個值
          private static String mainActiviy = "com.tencent.mm.ui.LauncherUI";
          private static String packageName = "com.tencent.mm";
          static {
          try {
          launchActivityClass = Class.forName(mainActiviy);
          } catch (ClassNotFoundException e) {
          throw new RuntimeException(e);
          }
          }
          @SuppressWarnings("unchecked")
          public LoginTest() {
          super(packageName, launchActivityClass);
          }
          @Override
          protected void setUp() throws Exception {
          super.setUp();
          this.activity = this.getActivity();
          // this.solo = new Solo(getInstrumentation(), getActivity());
          }
          public void testLoginWithIncorrentUsernameAndPassword() throws Exception {
          wait(5000);
          //待完成
          }
          @Override
          public void tearDown() throws Exception {
          try {
          this.solo.finishOpenedActivities();
          } catch (Throwable e) {
          e.printStackTrace();
          }
          this.activity.finish();
          super.tearDown();
          }
          }

          posted on 2014-08-20 09:36 順其自然EVO 閱讀(407) 評論(0)  編輯  收藏 所屬分類: android

          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 基隆市| 宁国市| 西乡县| 信阳市| 杂多县| 萝北县| 庄浪县| 福安市| 洛隆县| 涡阳县| 宣威市| 东阳市| 洪雅县| 错那县| 凤阳县| 平潭县| 怀远县| 望城县| 华蓥市| 紫云| 东乌珠穆沁旗| 天台县| 鄂尔多斯市| 鹤岗市| 搜索| 甘泉县| 文山县| 河源市| 临江市| 德令哈市| 三门峡市| 南昌县| 皮山县| 淮阳县| 福泉市| 孙吴县| 阳春市| 石渠县| 德格县| 洱源县| 弥渡县|