日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于APK的自动化测试

發布時間:2024/4/14 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于APK的自动化测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???? Robotium第一個例子(NotePad)中是基于源碼的自動化測試,Robotium也可以基于APK進行自動化測試,也就是說你只要有APK文件,沒有源代碼,也可以進行自動化測試的。

??? 在做基于APK的自動化測試的過程中,需要確保的一點是,被測試的APK必須跟測試項目具有相同的簽名,那怎么做才能確保兩者擁有相同的簽名呢?

??? 第一步,首先將被測APK的簽名去掉,然后用debug keystore重新進行簽名,Eclipse也是使用debug keystore為默認的keystore為應用簽名的,這樣就可以保證被測應用和測試應用擁有同樣的簽名了

??? Eclipse默認的debug keystore可以在這個地方設置,Window-> Preferences-> Android -> Build

??? 去掉APK的簽名,然后為之重新簽名,可通過re-sign.jar這個jar來進行(自行到網上下載吧)

??? 雙擊運行re-sign.jar,會出現如下的窗口

???

??? 假設現在有一個APK,現在只需將這個APK拖動到上圖的APK圖標位置,re-sign.jar就會去掉改APK的簽名,然后重新以debug keystore為該APK重新簽名,如下圖所示

???

??? 點擊保存按鈕,等待一會,會出現如下窗口

???

???? 這樣就表明重簽名成功了,并獲得了被測應用的Package name和Main?activity。記住Package name和Main activity,后面會用到

??? 第二步,創建基于APK測試的測試工程

??? 在Eclipse里面新建一個Android Test Project,并命名為QunarTest,在Select Test Target這個窗口時,需要選擇“This project”

???

??? 接著根據提示選擇相應的按鈕,完成測試工程的創建。
??? 測試工程創建完畢后,新建一個libs文件夾,將Robotium的jar放到該文件夾下,然后將該jar添加到build path中
??? 第三步,編寫第一個基于APK測試自動化用例
??? 新建一個包, com.qunar.test,新建第一個測試類FirstQunarTest,繼承ActivityInstrumentationTestCase2,具體代碼如下

 

package com.qunar.test;import android.test.ActivityInstrumentationTestCase2;import com.robotium.solo.Solo;public class FirstQunarTest extends ActivityInstrumentationTestCase2 {private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.Qunar.NoteActivity";private static Class <?> launcherActivityClass;static{try{launcherActivityClass= Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);}catch(ClassNotFoundException e){throw new RuntimeException(e);}}@SuppressWarnings("unchecked")public FirstQunarTest(){super(launcherActivityClass);}private Solo solo;@Overrideprotected void setUp() throws Exception{solo= new Solo(getInstrumentation(),getActivity());}public void testCanOpenSettings(){solo.pressMenuItem(0);}@Overridepublic void tearDown() throws Exception{solo.finishOpenedActivities();} }

??? 其中LAUNCHER_ACTIVITY_FULL_CLASSNAME是由前面的re-sign.jar獲得的Main Activity

??? 第四步,安裝應用,運行自動化用例

??? 通過adb install 命令將重簽名獲得的qne_debug.apk安裝到設備上

??? 修改AndroidMainfest.xml里instrumentation的targetPackage的值為上面re-sign.jar獲得的package name,即com.Qunar

??? 鼠標右擊FirstQunarTest,選擇Run?As?->?Android?JUnit?Test,注意觀察屏幕,被測應用就會被啟動起來

轉載于:https://www.cnblogs.com/Akubi/p/5247511.html

總結

以上是生活随笔為你收集整理的基于APK的自动化测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。