1. 程式人生 > >Android自動化測試(Jenkins+Robotium+Ant+Junit)[PART one]

Android自動化測試(Jenkins+Robotium+Ant+Junit)[PART one]

前期的環境搭建和程式碼網上有很多資料,在這裡我就不一一細說了,詳細說一下我在整個過程中遇到的問題。

自動化測試一般的過程:

testcase

執行testcase

記錄log

xml轉化為html

1、 java.lang.ExceptionInInitializerError

我在整個的測試過程中碰到過還幾次這個error,開始查了很多資料,沒有解決,最後發現是路徑的問題,我在測試過程中用了像類似“C:/user/..”這樣的路徑,但是在Android模擬器上是找不到的,所以就會報ExceptionInInitializerError。 切記:是在Android模擬器上進行測試的,本機上的路徑是不可用的!

2、 log

在測試的過程中記錄日誌,我本來打算直接用log4j-1.2.17.jar,後來發現還是有一部分問題的,需要再加一個android-logging-log4j.jar,像平常用的log4j.peoperties也不能用在Android上,Android真正的log配置應該用下面這一段程式碼:

LogConfigurator logConfigurator = new LogConfigurator();

//sdcard 

logConfigurator.setFileName(Environment.getExternalStorageDirectory()

+ File.separator

 + "Logs" + File.separator +DocEnvConstants.LOCALE+ File.separator +"xxx.log");

logConfigurator.setRootLevel(Level.DEBUG);

logConfigurator.setLevel("org.apache", Level.ERROR);

logConfigurator.setFilePattern("%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n");

//%d %-5p [%c{2}]-[%L] %m%n

logConfigurator.setMaxFileSize(1024 * 1024 * 5);

logConfigurator.setImmediateFlush(true);

logConfigurator.configure();

log = Logger.getLogger(AndroidDocTest.class.getName());

3、 ClassNotFoundException

Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'

xml檔案裡面的包名是否正確。這種問題一般是馬虎所導致的,仔細檢視一下你的AndroidManifest.xml中的包名是否正確。

4、 Android模擬器上檔案的讀寫問題:

我也是在本次測試過程中才發現問題,最開始用的平時用的檔案讀寫的方式,後來發現不對,Android檔案的讀寫和平時用的檔案讀寫是不同的,附程式碼:

InputStream in = null;

try {

in = new BufferedInputStream(new FileInputStream(file));

BufferedReader br= new BufferedReader(new InputStreamReader(in, "UTF-8"));

String tempString = null;

boolean found = false//if find the testcase log

while ((tempString = br.readLine()) != null) {

}

}


相關推薦

Android自動化測試(Jenkins+Robotium+Ant+Junit)[PART one]

前期的環境搭建和程式碼網上有很多資料,在這裡我就不一一細說了,詳細說一下我在整個過程中遇到的問題。 自動化測試一般的過程: 寫testcase; 執行testcase; 記錄log; xml轉化為html; 1、 java.lang.ExceptionInInitiali

Android自動化測試框架Robotium

目前用於Android的測試框架已經有很多,比如:Monkey、Appium和Robotium等。Monkey這是大家比較熟悉的,Android自帶的系統工具。Monkey通過向系統傳送偽隨機的使用者事件流(如按鍵輸入、觸控式螢幕輸入、手勢輸入等),實現對正在開

android 自動化測試Robotium 測試apk時遇到的問題

1.執行測試工程時提示:         Test run failed: Permission Denial: starting instrumentation ComponentInfo{com.example.androidcalculator.test/andro

android基礎知識12:android自動化測試03—基於junitandroid測試框架03

     本文主要介紹如何執行junit測試。 7、如何執行junit測試       前面我們學習了很多JUnit的程式,在Android ADT外掛中已經為我們提供了很多這方面的功能,方便我們進行單元測試。但是如何進行單元測試,例如在ApiDemos\test提供

Android自動化測試遇到的問題及解決方法(1)

粘貼 png family 學習 再次 jmeter log 初始 mage 編者按:本文是小小小提姆在使用自動化測試工具TestWriter時的一點使用心得~我叫小小小提姆,是一名在IT行業的洪流中力爭上遊的軟件測試員,個人軟件測試擅長方向:1、功能測試(熟悉Fiddle

Android 自動化測試

unicode lac 回調 工作 info 部分 字段 結束 itl Python +Android +uiautomator test 在init中定義的方法 uiautomator 該模塊是android的一個python包裝uiautoma

android 自動化測試案例之 MonkeyScript

時間 運行 nbsp speed sources patch html 搜索功能 net #文件名 MonkeyScript.mks #功能: 使用monkey script測試app,此案例是測試搜索功能(輸入關鍵字,然後點擊搜索按鈕)#參考: http://blog.

Android自動化測試-UiAutomator環境搭建

ini runner 代碼 imp event before image lap interrupt Android自動化測試-UiAutomator環境搭建 一、環境準備   1. 安裝android sdk,並配置環境變量   2. 安裝android studio,國

Android 自動化測試 Emmagee

指定 hub .com 開始 加載 cpu使用率 性能測試 流量 and Emmagee 是一個性能測試小工具 用來監控指定被測應用在使用過程中占用機器的CPU, 內存,流量資源的性能小工具 Emmagee 介紹 Emmagee是網易杭州研究院QA團隊開發的一個簡單易上

在Mac OSX 上配置Appium+Android自動化測試環境

crm get exp 一個 shang time 點擊 host 設置代理 前提準備 開始正文之前,你需要準備好一些基本條件: 安裝好Mac OSX 操作系統的設備 能夠訪問中國局域網以外資源的方法(沒有也行,但很痛苦) 已經安裝好 homebrew 已經安裝好 Pyt

Android自動化測試之Monkeyrunner從零開始

控制 麻煩 關於 人員 bsp android開發 直接 記錄 自動 最近由於公司在組織一個Free CoDE的項目,也就是由大家自己選擇研究方向來做一些自己感興趣的研究。由於之前我學過一點點關於android的東西,並且目前android開發方興未艾如火如荼,但自動化測試

Android自動化測試腳本

keyboard 使用 red ref 4.4.2 for 自動化測試 from cli from appium import webdriverfrom time import sleepdesired_caps={}desired_caps[‘platformName‘

安卓自動化測試Robotium(二)page object 模式完善測試框架

near pre image 控件 自動 coo IV warn activit 1、目前比較流行的設計模式就是page object,page object就是把頁面作為對象,在使用中傳遞頁面對象,來使用頁面對象中相應的成員或者方法,能更好的提現java的面向對象和封裝特

安卓自動化測試Robotium(一)測試demo

for 切換 ini too demo edittext pin dex bsp 1、下載Robotium打開: http://code.google.com/p/robotium/下載:robotium-solo-3.4.1.jar (寫測試用例時需要依賴此包)2、需要把

uiautomator2任意操作Android自動化測試

簡介 uiautomator2 是一個Android UI自動化框架,支援Python編寫測試指令碼對裝置進行自動化。底層基於Google uiautomator,Google提供的uiautomator庫可以獲取螢幕上任意一個APP的任意一個控制元件屬性,並對其進行任意操作,但有兩

Android自動化測試之——MonkeyRunner(1)

一、MonkeyRunner是什麼 MonkeyRunner是使用Jython(使用Java程式語言實現的Python)寫出來的,它提供了多個API,通過monkeyrunner API 可以寫一個Python的程式來模擬操作控制Android裝置app,測試其穩定性並通過截圖可以方便地記錄出現的問題。

Android自動化測試之——MonkeyRunner(2)

一、MonkeyRunner API MonkeyRunner API包含了三個模組在com.android.monkeyruner包中: 1、MonkeyRunner 一類用於MonkeyRunner程式的實用方法。該類提供了一種將MonkeyRunner連線到裝置或模擬器的方法。它還提供了為monk

Android自動化測試之——MonkeyRunner(3)

本文主要介紹MonkeyDevice的方法。 上文中,使用MonkeyRunner方法連線裝置並返回一個MonkeyDevice物件,使用該物件呼叫MonkeyDevice方法可實現對裝置的操作。主要包括:點選、拖拽、截圖、按鍵、輸入內容 一、常量 MonkeyDevice的touch()、press(

Android自動化測試筆記

一、adb+monkey命令: 1.檢視連線裝置命令:adb devices 2.安裝軟體:adb install package(地址+包名) 3. 檢視手機裡面安裝程式包名:直接列出手機裡面全部安裝的包的名稱:adb shell pm list packages;還有一個可能在iMac機

Android自動化測試實戰(Java篇+主流工具+框架+指令碼)

第1章 課程簡介 我們為什麼要學自動化測試?如果你現在開啟一家招聘網站,輸入自動化測試,不難發現,自動化測試已經成為了軟體測試領域的大趨勢,測試人員能力的分水嶺,高薪福利的必爭地。但每個公司招聘要求中,技能點要求那麼多,我們如何進行系統的學習,成為一名合格的自動化測試工程師呢? 在這門課程將... 1-1 課