android自动化测试6-UIAutomator黑盒测试2

来源:互联网 发布:微聊客软件 编辑:程序博客网 时间:2024/06/16 20:38

上一篇我们介绍了一个简单的UIAutomator测试,模拟了press home键回到主界面,现在我们来对一个指定的app做测试,关于如何创建UIAutomator工程请参考上一篇,这里我们以前面的android工程AndroidCalculator为例。

Android SDK从4.1开始提供了如下两个工具来支持UI自动化测试:
uiautomatorviewer – 一个图形界面工具来扫描和分析应用的UI控件。
uiautomator – 一个测试的Java库,包含了创建UI测试的各种API和执行自动化测试的引擎。

前面我们已经使用了uiautomator的库,现在我们需要使用uiautomatorviewer来分析控件,以供自动化测试。

1,打开模拟器,打开AndroidCalcualor程序

2,打开命令行,运行uiautomatorviewer,uiautomatorviewer在android sdk 的tool文件夹下


3,点击左上角的device screenshot键,可以取出当前界面的各个元素


从中可以看出第一个乘数所在的EditText在界面中的index是2,

所以我们在测试代码中可以通过new UiObject(new UiSelector().index(2))得到它的对象,之后就可以对该对象通过setText做赋值操作。同理我们可以得到其它的对象。

4,现在我们来写测试用例,输入10到第一个乘数,输入20到第二个乘数,然后点击Multiply,最后验证结果是否正确。

简单处理,我们只需把上文的testcase改一改就可以了:

public class Demo1 extends UiAutomatorTestCase {
public void testDemo1() throws UiObjectNotFoundException {
// // Simulate a short press on the HOME button.
// getUiDevice().pressHome();


new UiObject(new UiSelector().index(2)).setText("10");
new UiObject(new UiSelector().index(4)).setText("20");
new UiObject(new UiSelector().index(7)).click();
Assert.assertEquals("200", new UiObject(new UiSelector().index(6)).getText());
}
}

5,接下来的ant编译,push jar到device,运行uiautomator测试请参看上一篇。

0 0
原创粉丝点击