ÎÒµÄÐÂÀË΢²©£ºhttp://weibo.com/u/1602714773 CSDN²©¿Í£ºhttp://blog.csdn.net/hunterno4

robotium²âÊÔÖ®´´½¨²âÊÔÓÃÀý£¨calculator£©

ÉÏһƪ / ÏÂһƪ  2012-04-01 17:17:33 / ¸öÈË·ÖÀࣺrobotium

AndroidCalculatorTest²âÊÔAndroidCalculator

 

ÔÚÉÏÒ»½ÚÖÐÎÒÃÇÒѾ­´´½¨ÁËProjectºÍTest Project£¬½ÓÏÂÀ´ÎÒÃÇÒªÓÃÕâ¸öTest Project¶ÔProject½øÐвâÊÔ¡£

1¡¢ ´´½¨²âÊÔÓÃÀý

ÔÚAndroidCalculatorTestÖÐÓÒ»÷com.calculator.test°ü£¬µã»÷New,Ñ¡ÔñOthers£¬Ñ¡ÔñJUit Test Case;

ÔÚNameÖÐÊäÈëTestMain£¬²¢½«setUp(),teardown()ºÍconstructor()¹´Ñ¡Ôñ¹´ÉÏ¡£

2¡¢ Ìí¼Órobotium jar

Äã¿ÉÒÔ´Ó¹ÙÍøÉÏÏÂÎÞrobotium jar£¬ÍøÖ·ÈçÏ£ºhttp://code.google.com/p/robotium/downloads/list

ÓÒ»÷²âÊÔÓõÄproject£¬Ñ¡ÔñBuild PathÔÙÑ¡ÔñConfigure Build Path£¬ÔÚÏÂͼµÄ´°¿ÚÖеã»÷Libraries£»

µã»÷ÓұߵÄAdd External JARs£¬Ñ¡ÔñÄãÏÂÔصÄrobotium jar°ü¡£×îºóµã»÷OK¡£

3¡¢ ±àд²âÊÔÓÃÀýµÄ´úÂë

ÔÚÎÒÃǵIJâÊÔÓÃÀýÖÐÎÒÃǽ«·ÃÎÊAndroidCalculatorµÄÄÚÈݲ¢ÓÐÒÔϼ¸¸ö²½Ö裺

1. Call/Access first & second input controls (EditFields)

2. Enter values of our own choice

3. Access & Click on Multiply button

4. Put assert to verify their multiplication result into result field.

ÔÚTestMain.javaÖÐÊäÈëÈçÏ´úÂë²¢±£´æ

packagecom.calculator.test;

importjava.util.ArrayList;

importandroid.test.ActivityInstrumentationTestCase2;

importandroid.widget.EditText;

importandroid.widget.TextView;

importcom.calculator.Main;

importcom.calculator.R;

importcom.jayway.android.robotium.solo.Solo;

public classTestMainextendsActivityInstrumentationTestCase2<Main> {

privateSolo solo;

publicTestMain() {

super("com.calculator", Main.class);

}

@Override

protected voidsetUp()throwsException {

super.setUp();

solo =newSolo(getInstrumentation(), getActivity());

}

public voidtestDisplayBlackBox() {

//Enter 10 in first editfield

solo.enterText(0, "10");

//Enter 20 in first editfield

solo.enterText(1, "20");

//Click on Multiply button

solo.clickOnButton("Multiply");

//Verify that resultant of 10 x 20

assertTrue(solo.searchText("200"));

}

public voidtestDisplayWhiteBox() {

//Defining our own values to multiply

floatfirstNumber = 10;

floatsecondNumber = 20;

floatresutl = firstNumber * secondNumber ;

//Access First value (editfiled) and putting firstNumber value in it

EditText FirsteditText = (EditText) solo.getView(R.id.EditText01);

solo.enterText(FirsteditText, String.valueOf(firstNumber));

//Access Second value (editfiled) 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 utputField = (TextView) solo.getView(R.id.TextView01);

ArrayList currentTextViews = solo.getCurrentTextViews(outputField);

assertFalse(currentTextViews.isEmpty());

TextView utput = (TextView) currentTextViews.get(0);

//Assert to verify result with visible value

assertEquals(String.valueOf(resutl), output.getText().toString());

}

@Override

protected voidtearDown()throwsException{

solo.finishOpenedActivities();

}

}

 

×¢Ò⣺ÔÚimportcom.calculator.Main;

importcom.calculator.R;

ÕâÁ½ÐдúÂëÏà¹ØµÄµØ·½¿ÉÄܻᱨ´í£¬Ô­ÒòÊÇMainºÍRÕâÁ½¸öjavaÀ಻ÊÇ¿âÀïÃæµÄ£¬±àÒëÆ÷»áÕÒ²»µ½¡£

½â¾ö°ì·¨ÊÇ£¬Í¬ÑùµØ´ò¿ªBuild Path,ÔÚprojectsÖУ¬µã»÷AddÌí¼ÓAndroidCalculator.

4¡¢ ÔËÐвâÊÔÓÃÀý

ÏÖÔÚÎÒÃÇ¿ÉÒÔÔËÐÐÎÒÃǵIJâÊÔÓÃÀýÁË

ÓÒ»÷TestMain.javaÑ¡ÔñRun AsÔÙÑ¡ÔñAndroid Junit TestÕâÑù¾Í½«¿ªÊ¼ÔËÐÐJunit test£¬

ÎÒÃÇ¿ÉÒÔÔÚÄ£ÄâÆ÷¹Û¿´ÔËÐÐʱµÄЧ¹û¡£

Õý³£µÄ»°ÎÒÃÇ¿ÉÒÔ¿´µ½ÔËÐнá¹ûÈçÏ£º


TAG: Android android robotium²âÊÔ

 

ÆÀ·Ö£º0

ÎÒÀ´ËµÁ½¾ä

Open Toolbar