【问题标题】:Is there a way of switching connectivity on and off in an AndroidTestCase?有没有办法在 AndroidTestCase 中打开和关闭连接?
【发布时间】:2011-02-18 17:46:44
【问题描述】:

我打算开始编写一些 android 测试用例,我想知道是否有办法在模拟器中以编程方式打开和关闭连接。

// High level puesdo code

Test: is Message Pushed to Local Storage if Phone is Not Connected to Network:

    Connectivity = off

    Create message

    try push message to webapp

    assert message in local storage

    Connectivity = on

刚开始在android中测试用例,如果答案很明显,我们深表歉意。

【问题讨论】:

    标签: android unit-testing android-emulator automated-tests


    【解决方案1】:

    要删除连接,您应该删除定义的 APN,根据:http://www.mail-archive.com/android-developers@googlegroups.com/msg62089.html

    这个存储库应该有你需要的一切:http://code.google.com/p/apndroid/

    不管怎样,下面是我找到的一些 sn-ps...

    读取当前 APN:

    Cursor cursor = 
    getContentResolver().(Uri.parse("content://telephony/
    carriers"),
    null, null, 
    null, null);
    StringBuffer sb = new StringBuffer();
    
    cursor.moveToFirst();
    do{
    sb.append("_id =").append(cursor.getString(0)).append(" , ");
    sb.append("name=").append(cursor.getString(1)).append(" , ");
    sb.append("numeric=").append(cursor.getString(2)).append(" , ");
    sb.append("mcc=").append(cursor.getString(3)).append(" , ");
    sb.append("mnc=").append(cursor.getString(4)).append(" , ");
    sb.append("apn=").append(cursor.getString(5)).append(" , ");
    sb.append("user=").append(cursor.getString(6)).append(" , ");
    sb.append("server=").append(cursor.getString(7)).append(" , ");
    sb.append("password=").append(cursor.getString(8)).append(" , 
    ");
    sb.append("proxy=").append(cursor.getString(9)).append(" , ");
    sb.append("port=").append(cursor.getString(10)).append(" , ");
    sb.append("mmsproxy=").append(cursor.getString(11)).append(" , 
    ");
    sb.append("mmsport=").append(cursor.getString(12)).append(" , 
    ");
    sb.append("mmsc=").append(cursor.getString(13)).append(" , ");
    sb.append("type=").append(cursor.getString(14)).append(" , ");
    sb.append("current=").append(cursor.getString(15)).append(" , 
    ");
    
    sb.append("\n--- BLOCK ---\n");
    
    }while(cursor.moveToNext());
    

    要添加 APN:

    //Trying to Insert a Custom Setting to Telephony db
    ContentValues values = new ContentValues();
    values.put("_id","3");
    values.put("name","Ramesh");
    values.put("numeric","310995");
    values.put("mcc","315");
    values.put("mnc","995");
    values.put("apn","email");
    values.put("user","elkjop");
    values.put("server","www.moota.com");
    values.put("password","elkjop");
    values.put("proxy","12");
    values.put("port","12");
    values.put("mmsproxy","12");
    values.put("mmsport","12");
    values.put("mmsc","12");
    values.put("type","a");
    values.put("current","a");
    
    //Adding Values using the Content Resolver
    getContentResolver().insert(Uri.parse("content://telephony/
    carriers"), values);
    

    我在这里找到了这个:https://groups.google.com/forum/#!topic/android-developers/fYwf_mhEX3Y

    通过那个 ContentResolver 你也可以删除它们。

    然后,您将删除 APN,然后将其恢复,这样就可以满足您的要求。

    【讨论】:

    • 插入成功,但是在设置中看不到APN,也无法选择为什么会这样?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多