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

原创 2013年12月04日 18:23:27

一:选择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.运行测试,查看手机模拟器


robotium—只有apk文件的测试

把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!!   一、重签名: 步骤: ...
  • dan729
  • dan729
  • 2015年03月02日 14:30
  • 507

手机性能测试——如何用loadrunner11完成手机的性能测试

从我们接触loadrunner开始,书本上的案例都是讲用loadrunner录制web端用例,对于测试小白,手机端的性能测试该如何进行?     loadrunner官方资料,loadrunner1...
  • wuguixiaomei
  • wuguixiaomei
  • 2017年05月22日 19:30
  • 864

APK签名的一些问题

1 签名文件(xx.keystore)的作用? 生成APK文件时必须要经过某个keystore文件的签名,签名的过程实际上是根据keystore文件中的信息生成校验信息和签名信息,以避免APK被篡改...
  • victory08
  • victory08
  • 2016年01月20日 17:25
  • 1210

Robotium只有apk文件时进行测试

首先:设置环境变量 1. 配置ANDROID_HOME为android sdk的安卓目录,例如:D:\android-sdk 2. 在path下添加这两个: %ANDROID_HOM...
  • lfcoolhappy
  • lfcoolhappy
  • 2013年08月30日 17:12
  • 326

Robotium—只有apk时,进行自动化测试

Robotium—只有apk时,进行自动化测试 在没有源代码,只有安装包的时候,如何进行robotium自动化测试?下面进行讲解 1、重签名apk包 使用位于sdk/tools/目录下的文件 re...
  • youxiansanren
  • youxiansanren
  • 2015年03月14日 18:44
  • 1495

手机测试一些知识点

手机上的app分为基于HTML5的app(类似于pc上的b/S应用)和本地app(类似于C/S结构)。 所以测试上我们也可以充分吸收web的b/s和c/s测试经验。但是不同于pc上的应用测试,手机上...
  • ling499185749
  • ling499185749
  • 2015年06月02日 16:19
  • 788

只有开始

 春节好。2006,值得纪念的一年,终于过去了。今年春节没回家,心里好想家。苦自己抗,伤总会愈。旧的终究过去,新的总会开始。...
  • ajou
  • ajou
  • 2007年02月21日 15:04
  • 682

在Setting中切换中英文后,打开最近应用,里面的提示字符不会切换中英文

最近在项目中遇到一个初看比较奇怪的问题:在Setting中进行中英文切换,比如由中文切换到英文,这时别的界面字符都已经由中文变成了英文,但是,在打开最近应用界面的时候,却发现里面的提示字符还是中文,但...
  • hanhan1016
  • hanhan1016
  • 2015年11月24日 16:08
  • 522

测试时查看apk的包和Activity方式

一、有源码情况 直接打开AndroidManifest.xml文件,找到包含Android.intent.action.MAIN和android.intent.category.LAUNCHER对应...
  • liuzhicsdn
  • liuzhicsdn
  • 2017年03月14日 11:18
  • 227

音乐播放器APK之MediaPlayer使用指南

安卓多媒体框架支持多种的通用多媒体类型的播放,所以你能轻易的整合音频、视频和图片到你的应用中。使用MediaPlayer APIs 你能够播放在你应用的raw资源中、在文件系统中和网络上的多媒体文件。...
  • recycled_man
  • recycled_man
  • 2016年01月29日 16:10
  • 682
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开始进行手机测试---只有APK
举报原因:
原因补充:

(最多只允许输入30个字)