关闭

开始进行手机测试---只有APK

578人阅读 评论(0) 收藏 举报

一:选择debug签名工具

1.选择xxx.apk文件到工具re-sign.jar---右击java虚拟机运行。

会产生两个东西一个是xxx-debug.apk文件。还有pagename和Main activity信息(这个信息是我们必须的)



二:新增一个安卓,junit测试工程,因为我们这个里面没有源码,所以记住要选择this project





1.新增完工程后,集成robotium插件




2.编写测试代码

package com.example.webview.test;


import junit.framework.TestCase;
import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;
import android.view.View;
import android.widget.EditText;


import com.jayway.android.robotium.solo.Solo;


@SuppressWarnings("rawtypes")
public class LoginTest extends ActivityInstrumentationTestCase2 {
    //定义变量
public Solo solo;
public Activity activity;
private static Class<?> launchActivityClass;
//对应re-sign.jar生成出来的信息框里的两个值
private static String mainActiviy = "com.yitong.taifung.mbank.android.activity.ManagerActivity";
private static String packageName = "com.yitong.taifung.mbank.android";
static {
try {
launchActivityClass = Class
.forName(mainActiviy);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}


@SuppressWarnings("unchecked")
public LoginTest() {
super(packageName, launchActivityClass);
}


@Override
protected void setUp() throws Exception {
super.setUp();
this.activity = this.getActivity();
this.solo = new Solo(getInstrumentation(), getActivity());
}




public void testLogin() {
    //一定时间内等待text出现,否则就出错
  //  solo.waitForText("Log In", 1, 10000);
    //点击text “Log In”
clickCtrlById("btnLoginBank", 400);
    //一定时间内等待text出现,否则就出错
solo.sleep(800);
solo.clickOnButton("同意");
enterTextById("edtTxtLoginName","1234", 400);
 assertTrue(solo.searchText("Incorrect ID number or password.",true));
}


@Override
public void tearDown() throws Exception {
try {
this.solo.finishOpenedActivities();
} catch (Throwable e) {
e.printStackTrace();
}
this.activity.finish();
super.tearDown();
}


//根据ID来点击
private int clickCtrlById(String s, int t ){
    int ctrl;
    View v;


    if( s == ""){
         return -1;
    }
    ctrl = solo.getCurrentActivity().getResources().getIdentifier(s,"id",packageName);
   
    v = solo.getView(ctrl);
    solo.clickOnView(v);
    solo.sleep(t);        
    return 0;
}
//根据ID来输入数值
private int enterTextById(String id, String s, int t ){  
 
    int ctrl;  
    EditText v;  
      
    if( s == ""){  
        return -1;  
    }  


    ctrl = solo.getCurrentActivity().getResources().getIdentifier(id,"id",solo.getCurrentActivity().getPackageName());  
    v = (EditText) solo.getView(ctrl);  
    
    solo.enterText(v, s) ;  
    solo.sleep(t);          


    return 0;  
}  
}


3.修改AndrodMainfest.xml文件


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.webview.test"
    android:versionCode="1"
    android:versionName="1.0" >


    <uses-sdk android:minSdkVersion="19" />


    <instrumentation
        android:name="android.test.InstrumentationTestRunner"

      【这个地方修改为反签名获取到的包】
        android:targetPackage="com.yitong.taifung.mbank.android" />


    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <uses-library android:name="android.test.runner" />
    </application>


</manifest>


4.运行测试,查看手机模拟器


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14216次
    • 积分:294
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:11篇
    • 译文:0篇
    • 评论:0条
    文章分类