前期的环境搭建和代码网上有很多资料,在这里我就不一一细说了,详细说一下我在整个过程中遇到的问题。
自动化测试一般的过程:
写testcase;执行testcase;记录log;xml转化为html;
1、 log
在测试的过程中记录日志,我本来打算直接用log4j-1.2.17.jar,后来发现还是有一部分问题的,需要再加一个android-logging-log4j.jar,像平常用的log4j.peoperties也不能用在Android上,Android真正的log配置应该用下面这一段代码:
LogConfiguratorlogConfigurator = new LogConfigurator();
//sdcard logConfigurator.setFileName(Environment.getExternalStorageDirectory()
+ File.separator + "Logs"+ File.separator+DocEnvConstants.LOCALE+File.separator+"documentscloud.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());
2、 Android模拟器上文件的读写问题:
我也是在本次测试过程中才发现问题,最开始用的平时用的文件读写的方式,后来发现不对,Android文件的读写和平时用的文件读写是不同的,附代码:
InputStream in = null;
try {
in= newBufferedInputStream(new FileInputStream(file));
BufferedReaderbr= newBufferedReader(newInputStreamReader(in, "UTF-8"));
StringtempString = null;
boolean found = false; //if find the testcase log
while ((tempString =br.readLine()) != null) {
}
}