使用Android JUnit访问外部文件(AVD设备之外)

时间:2013-09-07 17:56:10

标签: java junit robotium android-testing

我正在使用Robotium来自动化Android应用程序。为此创建了一个android测试项目。在项目文件夹内部我想保留一些文件,如.properties / .xls等,并希望读/写这些文件。例如,我的Android测试项目目录下有一个config.properties文件( src / main / java / config ),我想通过编码访问该文件:

对于普通的Java项目,我使用以下代码片段来加载 config.properties 文件:

CONFIG = new Properties();
FileInputStream fs = new FileInputStream(System.getProperty("user.dir")+"/src/main/java/config/config.properties");
CONFIG.load(fs);

这个相同的代码 - 当作为Android JUnit项目执行时抛出错误说 java.io.FileNotFoundException://src/main/java/config/config.properties:open failed:ENOENT(没有这样的文件或目录) ,无法找到该文件。

如果有人在任何时候遇到这种情况,请帮助我完成。

由于

Sitam Jana Software QA Enginner Mindfire Solutions

1 个答案:

答案 0 :(得分:2)

您无法以这种方式访问​​java项目的内部结构。当您在设备上安装apk时,您的Java代码将转换为Dalvik虚拟机的dex代码,并且您将没有项目中的文件结构。

您可以尝试以下操作:

如果您只想阅读config.properties,则应使用http://developer.android.com/reference/android/content/res/AssetManager.html类,并将config.properties放在项目的/ assets /中。

如果您还想编写.properties文件,请考虑创建如下临时文件:Creating temporary files in Android

最诚挚的问候。