今天有点时间练习了一下ApiDemos 的JUnit test,下面是需要的代码,希望能有点帮助吧。
Java Test代码:
package com.hover.test;
import com.example.android.apis.ApiDemos;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.Smoke;
public class ApiDemosTest extends ActivityInstrumentationTestCase2<ApiDemos>{
private Solo solo;
public ApiDemosTest() {
super("com.example.android.apis", ApiDemos.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
@Smoke
public void testOpenText() throws Exception {
solo.clickOnScreen(120,310);// Open item text
solo.clickInList(1); //Open item Linkify
boolean expected=true;
solo.sleep(3000);
boolean actual=solo.searchText("(?i).*?some text");
assertEquals("some text is not found", expected, actual); //Assert that some text is found
solo.goBackToActivity("ApiDemos");
solo.sleep(3000);
}
@Smoke
public void testDrag() throws Exception{
//用拖拽实现屏幕的滑动,因为是下面的条目向上移动,所以坐标从(120,310)滑动到(120,150)
// drag(x1,x2,y1,y2),大家要看清哦
solo.drag(120,120, 310, 150, 20);
solo.sleep(15000);
}
@Override
public void tearDown() throws Exception {
try {
solo.finalize(); //Robotium will finish all the activities that have been open
} catch (Throwable e) {
e.printStackTrace();
}
getActivity().finish();
super.tearDown();
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.hover.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" />
</application>
<instrumentation android:targetPackage="com.example.android.apis" android:name="android.test.InstrumentationTestRunner" />
</manifest>
愿意学习的给我留言,大家一起学习。
另外需要把ApiDemos.apk安装到手机设备或者模拟器上面,否则会出错误的。