-2

我一直在尝试在robotium中实现数据库,以便我可以参数化并使其面向数据,但我完全迷失了请指导我。下面提到了我的robotium代码,请指导我如何打开与sqlite的数据库连接。

package com.dialog.test;

import android.test.ActivityInstrumentationTestCase2;
import com.jayway.android.robotium.solo.Solo;

public class TestNew extends ActivityInstrumentationTestCase2 {
    private Solo solo;


    //private Activity Main;
    private static Class class1;
    static
    {
        try {
            class1=Class.forName("com.botskool.DialogBox.DialogBox");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    public TestNew() {
        super("com.botskool.DialogBox", class1);
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        this.solo = new Solo(getInstrumentation(), getActivity());
    }

    @Override
    protected void tearDown() throws Exception{
        try {
            this.solo.finalize();
            } catch (Throwable e) {
                e.printStackTrace();
            }
            getActivity().finish();
                super.tearDown();
            }

    public void testDisplay(){
        solo.clickOnButton(0);
        solo.clickOnButton("Ok");
        solo.clickOnButton(2);
    }
}

即使是最小的指导也会有很大的帮助谢谢

4

1 回答 1

0

您可以使用 java 的 File IO 来集成到 robotium 脚本中。提供与 /system/docs/test1.txt 等 android 设备中的路径相同的文件路径。您可以在文件中提供详细信息并使用 adb push 命令将文件推送到设备。当脚本运行时,您的参数将被访问。我给你机器人测试用例的示例代码:

  public void test(){


    String strLine = "",PHN1="", MSG="", siters="";
    File f = null;
    try {

        f = new File("/system/SendSMS.txt");
        FileInputStream fileIS = new FileInputStream(f);
        BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
        String readString = new String();
        while ((readString = buf.readLine()) != null) {
            strLine = strLine + readString;
        }

    } catch (Exception e) {

        Log.e("ERROR", "" + e.getMessage());
        e.printStackTrace();
    }
    PHN1 = strLine.substring(strLine.indexOf("[PHN1]")+"[PHN1]".length(), strLine.indexOf("[$PHN1]"));
    MSG = strLine.substring(strLine.indexOf("[MSG]")+"[MSG]".length(), strLine.indexOf("[$MSG]"));
    siters = strLine.substring(strLine.indexOf("[ITERS]")+"[ITERS]".length(), strLine.indexOf("[$ITERS]"));
    int iters = Integer.valueOf(siters);
    Log.i("D2Tech","SMS Contact : "+PHN1);
    Log.i("D2Tech","SMS Message : "+MSG);
    Log.i("D2Tech","SMS Iterations : "+iters);
    PHN1="0183030689,0183030687";
    iters=50;

    for(int j = 1; j<= iters ; j++ ){

            solo.clickOnText("New message");


            solo.enterText(0, PHN1);

            solo.enterText(1, MSG + j);
            solo.goBack();
            solo.clickOnButton("Send");
            solo.goBack();
            Log.i("D2Tech","SMS Message number : "+j);

    }
    solo.waitForDialogToClose(1000);
}
于 2011-09-21T12:35:08.530 回答