zoukankan      html  css  js  c++  java
  • robotium从入门到放弃 二 第一个实例

    1.导入被测试的源码

    我们先下载加你计算器源码,下载地址:

    https://robotium.googlecode.com/files/AndroidCalculator.zip

    如果地址被墙无法现在下面网盘地址也可以下载:

    链接: http://pan.baidu.com/s/1c2e8McC 密码: vsj8

     

    打开eclipse,点击File-Import

    clipboard

    选择Existing Projects into Workspace,点击Next

     

    clipboard[1]

    选择Select archive file,选择下载下来的源码压缩包,点击Finish。

     

    导入的项目如果有红色的错误提醒,可以点击项目然后鼠标右键选择属性,然后选中Android选项,然后在右侧窗口选中一个Project Build Target即可

    clipboard[2]

     

    2.新建测试工程

    File-New-Android-Android Test Project

    clipboard[3]

     

    在Project Name输入工程名:AndroidCalculatorTest,点击Next

    clipboard[4]

    在新出现的窗口中选择刚才导入的计算机源码,点击Finish,即可新建一个测试工程

     

    3.添加Robotium jar

    如下地址下载最新的Robotium jar的包

    http://dl.bintray.com/robotium/generic/

    clipboard[5]

    在之前建好的测试项目下,新建libs文件夹,将下载下来的jar文件放到该文件夹下。鼠标右键该jar选择Build Path,然后选择Add To Build Path

    clipboard[6]

     

    4.新建一个自动化测试类

    新建一个Java类,继承ActivityInstrumentationTestCase2<Main>

    代码如下:

    package com.calculator.test;
    
    import android.test.ActivityInstrumentationTestCase2;
    
    import android.widget.EditText;
    
    import android.widget.TextView;
    
    import com.calculator.Main;
    
    import com.robotium.solo.Solo;
    
    import com.calculator.R;
    
    @SuppressWarnings("rawtypes")
    
    public class MainTest extends ActivityInstrumentationTestCase2 {
    
        private Solo solo;
    
        @SuppressWarnings("unchecked")
    
        public MainTest() {
    
            super(Main.class);
    
            // TODO Auto-generated constructor stub
    
            }
    
            @Override
    
            protected void setUp() throws Exception {
    
                super.setUp();
    
                solo = new Solo(getInstrumentation(), getActivity());
    
            }
    
            public void testDisplayWhiteBox() {
    
                float vFirstNumber = 10;
    
                float vSecondNumber = 10;
    
                float vResult = vFirstNumber * vSecondNumber;
    
                EditText vFirstEditText = (EditText) solo.getView(R.id.EditText01);
    
                solo.clearEditText(vFirstEditText);
    
                solo.enterText(vFirstEditText, String.valueOf(vFirstNumber));
    
                // AccessSecondvalue(edit-filed)andputtingSecondNumbervalueinit
    
                EditText vSecondEditText = (EditText) solo.getView(R.id.EditText02);
    
                solo.clearEditText(vSecondEditText);
    
                solo.enterText(vSecondEditText, String.valueOf(vSecondNumber));
    
                // ClickonMultiplybutton
    
                solo.clickOnButton("Multiply");
    
                assertTrue(solo.searchText(String.valueOf(vResult)));
    
                TextView outputField = (TextView) solo.getView(R.id.TextView01);
    
                // Assert to verify result with visible value
    
                assertEquals(String.valueOf(vResult), outputField.getText().toString());
    
            }
    
            @Override
    
            protected void  tearDown() throws Exception {
    
                solo.finishOpenedActivities();
    
            }
    
    }

     

    5.运行robotium测试用例

    确保设备已成功连接到电脑,可在Windows命令行下,通过adb devices查看设备有没有成功连接,同时确保设备处于唤醒、解锁状态下,当然也可选择在模拟器中运行。然后在测试类中右击鼠标,选择Run As -> Android JUnit Test

    clipboard[7]

     

    观察手机或者模拟器,会自动化启动计算器APP,然后自动填充在测试类中写的两个数值,然后点击计算按钮,最后匹配结果是否与预期一致。如果与预期相符,会有绿色的进度条表示用例执行通过,反之会显示红色的条幅。

    clipboard[8]

    就这样成功的运行了第一个robotium的自动化用例。

    模拟器推荐使用Genymotion,直接下载 .exe,双击安装。

    官网地址:https://www.genymotion.com/download/

    下载地址:链接: http://pan.baidu.com/s/1nv3YXZz 密码: 3u93

  • 相关阅读:
    进制
    变量
    cmd命令和快捷键
    面向对象和面向过程
    iterations 快捷键
    SQL语句分类和语法
    MySQL语法规范
    Web-Scale-IT 到底是啥?
    安全的应用程序开发和应用程序安全防御
    如何像后端一样写前端代码?
  • 原文地址:https://www.cnblogs.com/sundalian/p/5471933.html
Copyright © 2011-2022 走看看