簡體   English   中英

UIAutomator在Linux上構建時運行0測試,但在其他平台上運行良好

[英]UIAutomator runs 0 tests when built on Linux, but works fine on other platforms

我在Linux中使用Android的UIAutomator庫進行測試時遇到了問題。 基本設置是Nexus 4,或者帶有4.2.2,JDK6,Eclipse和Linux Mint 13的仿真器。

這個問題的根源是:

INSTRUMENTATION_STATUS: stream=
Test results for WatcherResultPrinter=
Time: 0.007

OK (0 tests)


INSTRUMENTATION_STATUS_CODE: -1

這是我在Linux下創建jar文件時得到的。 如果我在Windows或OSX中構建它,一切似乎都在游泳。 在這種特定情況下,只有一個測試,即按下“主頁”按鈕。

如果我使用相同的代碼創建項目,並在其他環境(osx / windows)下執行相同的步驟,則測試將按預期運行。

我的問題是 - 為什么測試運行器在Linux下創建jar時無法找到類,而不是平台? 我現在最好也是唯一的猜測是,編譯時java路徑沒有正確設置,因此jar文件構建錯誤。 從Eclipse中運行測試時,我最初得到了'ClassNotFoundException',而在osx / windows上,測試將在JUnit中運行,但是失敗了。

我挖了這個,發現編譯器都指向系統不同部分的不同java版本。 我解決了這個問題,刪除了除了java6jdk的一個實例之外的所有內容,並檢查了JAVA_HOME,eclipse構建路徑和java編譯路徑都指向同一個實例。

在所有這些之后,測試似乎仍在構建,但測試運行器無法找到它們。 我在這里知識結束,任何幫助將不勝感激!

謝謝

編輯:jar tvf:

spicy@ubuntu:~/workspace/TestOne/bin$ jar tvf testui1.jar 
0 Sun Apr 07 14:23:24 PDT 2013 META-INF/
103 Sun Apr 07 14:23:22 PDT 2013 META-INF/MANIFEST.MF
1052 Sun Apr 07 14:23:24 PDT 2013 classes.dex

編碼:

package com.test;

import android.util.Log;

public class FirstTest extends UiAutomatorTestCase {

    public void thisTest() throws UiObjectNotFoundException {
        getUiDevice().pressHome();
        Log.i("HELP","HELP ME");
    }

}

經過太多的工作和努力,我很尷尬地報告問題在於測試功能的命名。 如果函數以'test_'開頭,則automator會找到測試。 如果它不以'test_'開頭,則忽略它們。

爾加!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM