1

我是 Robotium 的一天。因此尝试在 Robotium 上运行一些应用程序。

我已经完成了一个简单的 calci 应用程序,并尝试使用 Robotium 运行它。但是 Robotium 应用程序根本没有响应。两项测试都没有进行。

我已将权限包含在清单文件和所有内容中。但是程序仍然没有运行。

我的 Robotium 测试源代码是这样的:

package com.example.demo.project.test;

import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

import com.example.demo.project.MainActivity;
import com.example.demo.project.R;
import com.jayway.android.robotium.solo.Solo;

public class SampleQA extends ActivityInstrumentationTestCase2<MainActivity> {
    public SampleQA(Class<MainActivity> activityClass) {
        super(activityClass);
        // TODO Auto-generated constructor stub
    }


    private Solo solo;

    /*public TestMain() 
    {
        super(MainActivity.class);
    }*/

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

    public void testDisplayBlackBox() {

        //Enter 10 in first edit-field
        solo.enterText(0, "10");

        //Enter 20 in first edit-field
        solo.enterText(1, "20");

        //Click on Multiply button
        solo.clickOnButton("Multiply");

        //Verify that resultant of 10 x 20 
        assertTrue(solo.searchText("200"));

        }

    public void testDisplayWhiteBox() {

        //Defining our own values to multiply
        float firstNumber = 10;
        float secondNumber = 20;
        float resutl = firstNumber * secondNumber ;

        //Access First value (edit-filed) and putting firstNumber value in it
        EditText FirsteditText = (EditText) solo.getView(R.id.EditText01);
        solo.enterText(FirsteditText, String.valueOf(firstNumber));

        //Access Second value (edit-filed) and putting SecondNumber value in it
        EditText SecondeditText = (EditText) solo.getView(R.id.EditText02);
        solo.enterText(SecondeditText, String.valueOf(secondNumber));

        //Click on Multiply button
        solo.clickOnButton("Multiply");

        assertTrue(solo.searchText(String.valueOf(resutl)));                
        TextView outputField = (TextView) solo.getView(R.id.TextView01);        
        //Assert to verify result with visible value
        assertEquals(String.valueOf(resutl), outputField.getText().toString());
    }

    @Override
    protected void tearDown() throws Exception{

        try {
            solo.finalize();
            } 
           catch (Throwable e) 
            {
            e.printStackTrace();
            }
            getActivity().finish();
            super.tearDown();
            }
}

测试根本没有执行。请大家帮帮我!!

谢谢。

4

1 回答 1

5

您能否更具体地说明您遇到的错误?也许举一些例子?

您被测应用程序的主要活动被命名为 MainActivity?

也许你应该改变构造函数

public SampleQA(Class<MainActivity> activityClass) {
    super(activityClass);
    // TODO Auto-generated constructor stub
}

public SampleQA() {
    super(MainActivity.class);
}
于 2013-06-13T13:43:57.320 回答