首页 > 代码库 > Android自动化测试之路——Provider(二)

Android自动化测试之路——Provider(二)

再来说说第二种测试方式:

前提:需要你的测试工程与被测工程运行在统一进程中,使用InstrumentationTestcase相关的子类。

1、获取被测应用的db列表,通过调用ApplicationContext的databaseList;

2、自定义一个SQLiteOpenHelper的之类作为操作接口,如:public class DatabaseUtil extends SQLiteOpenHelper

3、根据第一步获取的db列表数组,获取被测db,调用DatabaseUtil的构造方法,拿到db的可读可写接口;

4、拿到dbname下面需要知道具体表名,通过以下执行sql:

Cursor  c = db.rawQuery("select name from sqlite_master where type=‘table‘ order by name", null);        while(c.moveToNext()){            Log.w("test_DB",c.getString(0));        }

5、现在dbname和tablename都已经知道了,想干嘛就干嘛了

比如:

db.query();
db.insert();
db.update();
db.delete();

 

Android自动化测试之路——Provider(二)