使用Android application测试API

本文详细介绍了如何使用Android应用程序来测试API。首先创建一个Android项目,导入被测API的源码或jar包,配置AndroidManifest.xml以获取必要的权限。接着设计简单的用户界面并实现onClick事件监听,通过Logcat观察测试结果。最后,提到了真机测试时遇到的问题及解决办法,为后续的JUnit自动化测试打下基础。
摘要由CSDN通过智能技术生成

如何使用Android application来测试用Android编写的API?QA需要建立一个模拟的Android环境来确保API的运行正确。

首先建立一个Android application的project,具体方法见Android菜鸟的第一个helloword工程

下面我们来进一步完成任务。

第一步. 导入需要测试的java源码包或者jar文件。

1. 导入java源码,为和测试代码进行区分,我们在project下新建一个folder名为“CodeGen”,再把code包copy过来。为了让java编译到新加的代码,我们在Java build path中增加这个folder。


2. 然后将需要用到的jar包或者so程序copy在libs目录下。直接在eclipse里面选中lib右键paste就可以了。同时在上图的library tab页选择Add Jars就可以导入jar包了。

这样,我们的测试程序就可以通过import来直接调用被测程序的API了。

AndroidManifest.xml是配置android程序的全局文件。由于被测的程序需要连接server,register等,所以我加上以下属性。

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

接下来,我们设计一下测试程序的用户界面,打开res/layout/activity_main.xml。先加入一个layout,再往里面加control。最简单的就是加一个LineLayout然后加几个button。


再回到测试class MainActivity添加代码。

1. 实现onClickListener,斜黑体部分是我在自动生成的代码上增加的程序

public class MainActivity extends ActionBarActivity implements OnClickListener{
private Button button1;
private Button button2;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
button1 = (Button)findViewById(R.id.button1);
        button1.setOnClickListener(this);
        button2 = (Button)findViewById(R.id.button2);
        button2.setOnClickListener(this);

}

2. 此时会报一个warning,说onclickListener没有实现。如果你在创建class的时候指定interface为OnClickListener,那么OnClick()会自动生成,不然自己添加一个就可以了。

@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.button1:
register();
break;
case R.id.button2:
testCreateIndex();
break;
default:
throw new IllegalArgumentException("Invalid control name, not implemented.");
}
}

3. 然后实现每个button需要完成的测试用例。

我们可以使用android.util.Log类里面d/e/i()来标记debug/error/info的message。

运行程序就行调试,可以在Logcat里面看log来检查测试的结果,Logcat的日志非常多,要善于使用filter来过滤你需要的信息。


小结:这篇文件介绍的是通过Android application进行手工测试API的测试用例。接下来,我们还可以在本project的基础上加上JUnit的测试,再然后通过JUnit来实现自动测试。请拭目以待我以后的blog。


补充:昨天做真机测试的时候,registering application总是失败,原因是我把server端的Application connection数据删了,但是手机端还保留,结果一直连不上。今天让同事帮忙找到解决方法,在手机端设置->应用中找到测试程序,然后点击“清除数据”。或者直接卸载application,也是可以的。环境弄好以后,重新跑一遍程序,不需要重新安装apk,就正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值