Параметризация роботия - PullRequest
0 голосов
/ 19 сентября 2011

Я пытался внедрить базу данных в 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);
    }
}

Даже самое маленькое руководство очень помогло бы, спасибо

1 Ответ

0 голосов
/ 21 сентября 2011

Вы можете использовать File IO Java для интеграции в скрипт robotium. укажите путь к файлу как путь в устройстве Android, например /system/docs/test1.txt. Вы можете указать подробности в файле и отправить файл на устройство с помощью команд adb push. и когда скрипт запустится, ваши параметры будут доступны. Я даю вам пример кода тестирования Robotium:

  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);
}
...