Robotium is similar to Selenium, but for Android. It has support for Android features such as activities, toasts, menus and context menus.
用户界面自动测试有助于保持你的软件的质量高,并帮助你发现如果你的代码变化影响实际使用的情况下实施。当您创建Android应用程序,你想成为许多人的测试人员的帮助下,他们没有能够测试。人类同一应用程序的多个设备上的UI测试是浪费时间,所以你要通过自动化来消除它,就像你会做与硒用于Web应用程序。对于Android应用程序中,也有类似的所谓Robotium测试工具。这是一个UI测试工具模拟触摸,点击,打字,和其他用户的Android应用程序相关的行动。编写测试使用Robotium是很容易,因为你可以看到从下面。
Bitbar,我工作的公司,创造了一个持续集成环境的自动化UI测试Android应用程序。下面是一些使用它的好处:
使用Robotium作为一个例子,我会告诉你如何创建一个测试我的Android应用程序用于监测哈德森的工作的。
如果你是Eclipse用户(和您的Eclipse ADT插件),你应该打开项目,你想测试,然后选择菜单文件→新建→(→安卓)→Android的测试项目。创建现有的Android项目的测试项目。要运行它选择Run As - >运行,由于Android的JUnit测试。
其他非Eclipse)的开发人员应该使用的android
从Android SDK工具。(在这个例子中,我用它在测试项目目录):
android的创建测试项目-P。米/ HudsonMonitor
-N HudsonMonitorTest
-后-P把路径测试项目目录
-米后提出的路径,你将测试项目
-后-N把测试项目的名称
要建立它,你应该使用像蚂蚁调试
蚂蚁
或蚂蚁释放
(释放),但记得要加robotium.jar文件,这个项目的libs目录(如果你不这样做,你将不得不NoClassDefFoundError的为com.jayway.android.robotium.solo.Solo类。 要安装应用程序和测试模拟器或设备的使用方法:
ADB-5554模拟器安装-R BIN \ HudsonMonitor debug.apk
ADB-5554模拟器安装-R BIN \ hudson_monitor_test debug.apk
运行测试:
亚行外壳仪器
-W com.android.hudson.tests的/ android.test.InstrumentationTestRunner
但要记住解开模拟器,然后再运行测试。
好了,现在我们应该创建类将执行一个测试用例。唯一的测试项目,我们应该知道的是包的名称和主类的名称。在我们的测试项目的测试用例类看起来像这样:
进口com.android.hudson.HudsonMonitor,
进口com.jayway.android.robotium.solo.Solo;
进口android.test.ActivityInstrumentationTestCase2;
进口android.test.suitebuilder.annotation.Smoke;
公共类HudsonMonitorTest延伸ActivityInstrumentationTestCase2{
私人独奏独唱; / /这是Robotium用于支持跨越多个活动的测试用例类。
公共HudsonMonitorTest(){
超(“com.android.hudson”,HudsonMonitor.class);
}
公共无效设置()抛出异常{
super.setUp()
独奏,独奏(getInstrumentation(),getActivity())/ /需要在仪器仪表及开始活动。
}
@覆盖
公共无效拆解()抛出的异常{
尝试{
solo.finalize();
}的catch(Throwable的E){
e.printStackTrace();
}
getActivity()完成();
super.tearDown();
}
}
我们的应用程序有四个选项卡:“统计”,“详细信息”,“网页”和“配置”。选择其中之一的方法之一是单击某个元素,例如文本,选择“配置”:
solo.clickOnText(“配置”);
第一项测试检查“增加新的哈德逊”的使用情况。在配置屏幕上,我们有2的一个ListView EditTexts监测哈德森工作。测试应在第一的EditText打字饲料网址为Hudson(哈德森例如:8080),并在第二个它的名字(如哈德森)将显示在我们的应用程序,以确定此哈德森实例。屏幕上的在Robotium部件中被数位从上到下,从左至右,并开始形成0,所以我们的代码,这个动作是:
/ / 0,因为它是第一个 ,因为在屏幕
solo.enterText(0,“赫德森:8080”)
/ / 1 的EditText 它是第二
solo.enterText的(1,“赫德森”);
要添加此的哈德森HudsonMonitor应用,我们应该点击加号的ImageButton。是第一的ImageButton从顶部离开,因此它具有数0:
/ /的ImageButton只使用clickOnImageButton的方法,
/ /但是简单的按钮使用clickOnButton
solo.clickOnImageButton(0);
然后,我们必须检查的项目是否与这个哈德森饲料网址已添加到列表:
布尔预计=真,
布尔实际solo.searchText(“(http://hudson:8080)”);
的assertEquals(“不能添加新的哈德森实例”,预期实际);
本次测试的整个源代码如下:
@烟雾
公共的无效testAddNewHudson()抛出异常{
solo.clickOnText(“配置”);
solo.enterText(0,“哈德森:8080”);
solo.enterText(1,“哈德森”);
solo.clickOnImageButton(0);
布尔预计= TRUE;
布尔实际=(solo.searchText“(http://hudson:8080)”);
的assertEquals(“不能添加新的哈德森实例”,预期实际);
}
第二次测试应检查活动,其中有一个微调框和一个版本的详细信息表。要选择一个项目从微调,我们可以用下面的方法:
solo.pressSpinnerItem(0,1);
此方法将只能选择一个项目从微调,当我们需要检查一些微调项目的名单,我们应当使用下面的代码:
solo.clickOnView(solo.getCurrentActivity().
findViewById(R.id.SpinnerDetailList));
solo.clickInList(2);
要使用此代码,我们必须导入R从测试项目(HudsonMonitor)。使用方法... OnView
我们可以测试在屏幕上的每一个部件,但我们必须有项目,我们正在测试的更多信息。
Robotium是非常容易使用,可以帮助保持您的软件的质量非常高,在整个项目生命周期的。Bitbar已经创建了一个自动构建和测试环境为Android应用程序开发人员可以构建和测试其应用程序的许多配置,真正的设备和模拟现实世界中的设备的目标,
在我们的持续集成服务为Android应用程序开发人员可以为他的测试过程自动化真正的Android设备的多个模拟器,
你可以指定你的Android模拟器测试您的应用程序将被用于目标和所有参数。
对于每个开发者的代码提交(提交或推)我们的系统构建和自动测试应用程序。您还可以看到人类友好表格中的测试结果,包括从测试过程中为每个模拟器截图。
如果你有问题或问题Robotium请把它的博文评论中,我会尽力帮助你,
如果你有兴趣在我们的自动构建和测试系统的Android应用程序,请联系我们信息()bitbar.com的。