Robotium测试用例根本没有运行

时间:2013-06-13 11:11:46

标签: robotium

对Robotium来说还有一天的时间。因此试图在Robotium上运行一些应用程序。

我做了一个简单的calci应用程序,并尝试使用Robotium运行它。 但Robotium应用程序根本没有响应。这些测试都没有完成。

我已将权限包含在Manifest文件中。但程序仍然没有运行。

我的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();
            }
}

测试根本没有被执行。 请帮帮我们!

感谢。

1 个答案:

答案 0 :(得分:5)

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

您正在测试的应用程序的主要活动名为MainActivity?

也许你应该从

改变构造函数
public SampleQA(Class<MainActivity> activityClass) {
    super(activityClass);
    // TODO Auto-generated constructor stub
}

public SampleQA() {
    super(MainActivity.class);
}