通过文本定位元素
你可以使用按钮上显示的文本点击按钮。
1Solo.clickOnButton("ADMIN");
定位文本框元素
使用类似的方法单击要输入数据的文本框,并从右侧找到文本框的位置。
1 Solo.enterText(0,"Anitha");
2 //Username textbox is in 1st position
1 Solo.enterText(1,"test");
2 //Password textbox is in 2nd position
定位单选按钮元素
单击单选按钮元素,并找出单选按钮的位置。
1 Solo.clickOnRadioButton(1);
2 //It will location radio button in the second position.
示例代码
1 package com.sasi.attendanceproject.test; 2 import android.test.ActivityInstrumentationTestCase2; 3 import android.widget.EditText; 4 5 import com.robotium.solo.By; 6 import com.robotium.solo.Solo; 7 import com.robotium.solo.WebElement; 8 import com.sasi.attendanceproject.Home; 9 10 public class AttendanceTest extendsActivityInstrumentationTestCase2<Home>{ 11 private Solo solo; 12 public AttendanceTest() { 13 super("com.sasi.attendanceproject.Home",Home.class); 14 // TODO Auto-generated constructor stub 15 } 16 17 public void setUp()throws Exception{ 18 solo=new Solo(getInstrumentation(),getActivity()); 19 } 20 public void testAttendance()throws Exception{ 21 //solo.assertCurrentActivity("Current Activity", Home.class); 22 solo.waitForWebElement(By.id("btnadmin")); 23 solo.clickOnButton("ADMIN"); 24 solo.clickOnButton(0); 25 solo.waitForText("Creating New Password"); 26 solo.enterText(0, "test"); 27 solo.enterText(1, "test"); 28 solo.clickOnButton("Okay"); 29 solo.waitForText("Attendance Login"); 30 solo.enterText(0, "Anitha"); 31 solo.enterText(1, "test"); 32 solo.clickOnButton("Login"); 33 solo.waitForWebElement(By.id("btnaddnew")); 34 solo.clickOnButton("Add New Details"); 35 solo.waitForText("Enter the Employee Details"); 36 solo.enterText(0, "Anitha"); 37 solo.enterText(1, "6"); 38 solo.enterText(2, "Testing Engineer"); 39 solo.clickOnRadioButton(1); 40 solo.clickOnButton("Okay"); 41 solo.waitForWebElement(By.id("tvempID")); 42 System.out.println(solo.getText(0)); 43 44 } 45 public void tearDown()throws Exception{ 46 solo.finishOpenedActivities();}} |
执行Robottium项目
从 Eclipse:
右键单击项目并选择运行方式 - > Android Junit Test
从Command Prompt:
步骤1:
Cd到你的Android测试项目目录
步骤2:
运行以下命令,
1 adb shell am instrument -w <<package name of your test
2 class>>/android.test.InstrumentationTestRunner
结论
Robotium是最常用的Android测试自动化工具之一。Robotium Testcases可以在Android模拟器和Real设备上执行,我们不需要在Real设备上编写任何特定的配置代码来运行Robotium测试用例。同时,它也可以很容易地在maven项目中编写,可以通过持续的集成工具来运行。因此,Robotium在编写简单的Android测试自动化脚本方面是非常有用的。