【Android自动化测试之Robotium】03. 当只有一个APK的时候使用robotium进行自动化测试

一. 准备工具

1. 准备重签名工具:http://www.troido.de/re-sign.jar(在mac上没办法用,只能在windows上用)

2. 下载robotium.jar http://code.google.com/p/robotium/downloads/list 

3.  搭建测试环境

 

二. AndroidManifest.xml

 

01<?xml version="1.0" encoding="utf-8"?>
02<manifest xmlns:android="http://schemas.android.com/apk/res/android"
03    package="com.taobao.taobao.test"
04    android:versionCode="1"
05    android:versionName="1.0" >
06 
07    <uses-sdk android:minSdkVersion="8" />
08 
09    <instrumentation
10        android:name="android.test.InstrumentationTestRunner"
11        android:targetPackage="com.taobao.taobao" />
12 
13    <application
14        android:icon="@drawable/ic_launcher"
15        android:label="@string/app_name" >
16        <uses-library android:name="android.test.runner" />
17    </application>
18 
19</manifest>

 

三. TestGarblePackage.java

 

 

01package com.taobao.taobao.test;
02 
03import android.test.ActivityInstrumentationTestCase2;
04 
05import com.jayway.android.robotium.solo.Solo;
06 
07/**
08 * 测试混淆包
09 *
10 * @author bixiaopeng 2013-4-8 下午1:26:15
11 */
12@SuppressWarnings("rawtypes")
13public class TestGarblePackage extends ActivityInstrumentationTestCase2 {
14 
15    private Solo            solo;
16    private static Class<?> launchActivityClass;
17    private static String   mainActivity = "com.taobao.tao.MainActivity2"// 启动的类名
18    static {
19        try {
20            launchActivityClass = Class.forName(mainActivity);// 通过反射来获取activity
21        catch (ClassNotFoundException e) {
22            throw new RuntimeException(e);
23        }
24 
25    }
26 
27    @SuppressWarnings("unchecked")
28    public TestGarblePackage(){
29        super(launchActivityClass);
30    }
31 
32    @Override
33    protected void setUp() throws Exception {
34        solo = new Solo(getInstrumentation(), getActivity());
35    }
36 
37    @Override
38    protected void tearDown() throws Exception {
39        solo.finishOpenedActivities();
40    }
41 
42    public void testUpdate() throws Exception {
43        solo.clickOnMenuItem("检测更新");
44        // robotium好像没有直接提供获取toast的方法,所以只用个笨方法
45        int i = 0;
46        boolean toast = false;
47        while (i < 40) {
48            Thread.sleep(300);
49            toast = solo.searchText("您使用的版本已是最新的了哦");
50            if (toast) {
51                break;
52            }
53            i++;
54        }
55        assertEquals(toast, true);
56    }
57}

订阅

微信搜索“毕小烦”或者扫描下面的二维码,即可订阅我的文章。

image.png

如果文章对你有帮助,请随手点个赞吧!

(完)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕小烦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值