用Android studio可以很方便的完成代码的测试工作,比之前在Eclipse里面做测试方便多了,下面简单总结一下:
一、创建测试目录结构:
一般在工程根目录下创建androidTest文件夹,里面按照src包名结构创建目录,然后就可以创建测试文件了,如图:
也可以在module的build文件进行指定测试路径:
androidTest {
java.srcDirs = ['androidTest/java']
assets.srcDirs = ['androidTest/assets/']
}
二、创建测试文件:
新建XXXTest.Java,一般继承InstrumentationTestCase。
里面方法命名要注意,测试用例必须要以test开头,如果你要控制执行顺序,需要在test后面加有序的数字或字母,在执行的时候会按命名顺序执行,如:test1Query(),test2Insert()等等;
public class UtilsTest extends InstrumentationTestCase {
public void test1() throws Exception {
assertTrue(Utils.isValidUrl("http://www.qq.com"));
assertTrue(Utils.isValidUrl("www.qq.com/news?a=1"));
assertFalse(Utils.isValidUrl("http://*.qq.com"));
assertTrue(Utils.isValidUrl("http://www.qq.com/?a=1"));
assertTrue(Utils.isValidUrl("www.qq.com:80"));
assertTrue(Utils.isValidUrl("http://www.qq.com:80/news"));
assertTrue(Utils.isValidUrl("www.qq.com/news"));
assertTrue(Utils.isValidUrl("ftp://www.qq.com/news"));
assertTrue(Utils.isValidUrl("ftp://www.qq/news")); // We can't judge that whether the domain suffix is valid.
}
public void test2() throws Exception {
String[][] hosts =
{{"baidu.com", "http://baidu.com/?v=1"},
{"qq.com", "https://qq.com/?v=1"},
{"qq.com", "ftp://qq.com/?v=1"},
{"qq.com:80", "https://qq.com:80/?v=1"}
};
for (int i = 0; i < hosts.length; i++) {
assertEquals(hosts[i][0], Utils.extractHost(hosts[i][1]));
}
}
public void test3() throws Exception {
assertTrue(Utils.isValidRedirectUrl("http://www.qq.com"));
assertTrue(Utils.isValidRedirectUrl("https://www.163.com"));
}
}
三、注意事项:
如果要测试的接口里面有线程,一般以回调的方式展示,这时候要注意让测线程等待,否则测试主线程会提前退出,导致测试失败,可以用下面方法控制:
Object queryLock = new Object();
private void waitProcessing(){
try{
synchronized (queryLock){
queryLock.wait();
}
}catch (Exception e){
e.printStackTrace();
}
}
private void notifyProcessing() {
synchronized (queryLock) {
queryLock.notify();
}
}
四、运行:
运行整个测试用例,只需要在需要在文件上右键->run即可
运行单个case,在对应的方法中点击,右键->run即可;
- 大小: 8.9 KB
分享到:
相关推荐
appium-uiautomator2-server-debug-androidTest.apkappium-uiautomator2-server-debug-androidTest.apk
Test Android .java
智慧停車場,含圖示檔、layout檔及資源檔
Android 开发的基于 Java 的程序库。这个类别程序库的示例包括应用程序框架库,如用户界面构建,图形绘制和数据库访问。一些 Android 开发者可用的 Android 核心程序库。努力学习,强势出击,android的学习也是很...
android中利用service和广播实现多个activity共享计时器 需要在activityA中开始计时,然后在activityB和activityC中操作,并且需要在Activity A、B、C中都要看到计时器
Android Test Driven Development Tutorials pdf + epub + source code
AndroidTest.rar
是android的单元测试的简单代码,用了android的两种单元测试方式,大家可以看看android是如何进行测试类的编写及配置的。
MyTest android test app android 开发测试代码
Android实战内容:TestApp
如何编写testbench的总结如何编写testbench的总结如何编写testbench的总结如何编写testbench的总结如何编写testbench的总结如何编写testbench的总结
Android Gps Test源码 Android Gps Test源码.rar Android Gps Test源码.rar
Android
monkey test android 自动化测试monkey test android 自动化测试monkey test android 自动化测试monkey test android 自动化测试
Android下使用JUnitTest用例,可以参见博客:http://www.cnblogs.com/plokmju/p/Android_JUnit.html
androidtest应用
androidtest