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();

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。