第一个demo(以计算器为例)
1、基于源码的测试
1.1、被测试程序下载,链接:http://pan.baidu.com/s/1nuHyUpV 密码:9wxg,下载完成解压。
1.2、打开Android Studio,点击File->new->Import Project,再弹出的Import窗口中,在点击Finish,如图1.1
图1.1 Studio导入已有项目-1
项目导入成功后,切换的Android目录下,进入java目录下,选择main,右键Run Main,此时需要连接手机,如图1.2
图1.2 Studio运行被测试程序
此时手机中已经出现了计算器的应用,自己写的很丑勿怪,仅仅为了演示,计算机演示,如图1.3
图1.3 计算器应用截图
看到上面的程序,简单的写几条此时用例,使用自动化覆盖即可,首先测试一下计算器的加法功能。
进入Studio,刚刚导入的过程里面,已经包含了测试项目,进入测试项目中的MainTest,如图1.4
图1.4 进入Studio中的测试目录
测试代码已经写好,右键选择Run 'Main',即可得到测试结果,如图1.5
图1.5 运行测试用例
运行完成后测试结果如下图1.6
图1.6 运行测试结果
最后测试代码如下:
package com.calculator.test;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.calculator.Main;
import com.robotium.solo.Solo;
import com.calculator.R;
public class MainTest extends ActivityInstrumentationTestCase2<Main> {
private Solo solo;
public MainTest() {
super(Main.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation(), getActivity());
}
float vFirstNumber = 20;
float vSecondNumber = 5;
public void testAdd() {
EditText vft = (EditText) solo.getView(R.id.EditText01);
solo.clearEditText(vft);
solo.enterText(vft, String.valueOf(vFirstNumber));
EditText vst = (EditText) solo.getView(R.id.EditText02);
solo.clearEditText(vst);
solo.enterText(vst, String.valueOf(vSecondNumber));
Button bt1 = (Button) solo.getView(R.id.Button01);
solo.clickOnView(bt1);
solo.sleep(1000);
float exp = vFirstNumber + vSecondNumber;
TextView outputField = (TextView) solo.getView(R.id.TextView01);
assertEquals(String.valueOf(exp), outputField.getText().toString());
}
@Override
protected void tearDown() throws Exception {
solo.finishOpenedActivities();
}
}
------------------------------------------------------------------------------------------------------------------------------
更多请关注:FlyTester,关注技术的测试者
QQ群:456850134
web站:www.flytester.org
微信扫描二维码关注: