繁体   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