zoukankan      html  css  js  c++  java
  • Robotium使用——只有apk的情况

           通过参考网上的例子和我师父的帮忙,完成下面的操作。。。虽然网上例子很多,但是自己操作还是有好多问题,一点一点来吧,fighting!!!

    一.前提准备

    1.robotium-solo-5.3.1.jar

    2.下载任何一个apk

    3.re-sign.jar 用于重新签名

    二.重新签名

        在没有源码,只有apk的情况下,利用re-sign.jar重新签名获得package name和mianActivity,这一步是非常重要的。

    1.打开re-sign.jar,出现如图的提示,去环境变量中配置一下

     

    2.在环境变量中配置ANDROID_HOME,变量值是android sdk的路径

    3.再次打开re-sign.jar,成功

    4.将被测试的apk直接拖入上图中,弹出保存页面,直接保存,出现下图显示,记住package name 和main activity

    三.安装apk

        这里注意的是:安装的apk不是你下载的那个apk,而是刚才我们在上面操作中重新签名后产生的新的apk

    将新的apk直接拖入模拟器中安装

    四.新建android test project

       new——android test project ,然后选择this project ,点击next,完成

    五.建立junit test case

       1.修改AndroidManifest.xml

     

       2.导入jar包

       3.实现代码

    package com.raipeng.photograph.test;
    
    import com.robotium.solo.Solo;
    
    import android.app.Activity;
    import android.test.ActivityInstrumentationTestCase2;
    
    @SuppressWarnings("rawtypes")
    public class Photo extends ActivityInstrumentationTestCase2 {
        public Solo solo;
        public Activity activity;
        private static Class<?>  launchActivityClass;
    
        //对应re-sign.jar生成出来的信息框里的值
    
        private static String  mainActiviy      = "com.raipeng.photograph.control.mainfragment.MainActivity";
        
    
        static {
    
        try {
    
        launchActivityClass = Class.forName(mainActiviy);
    
        } catch (ClassNotFoundException e) {
    
        throw new RuntimeException(e);
    
        }
    
        }
        @SuppressWarnings("unchecked")
        public Photo() {
            super(launchActivityClass);
        }
    
        
    
        
    
        @Override
    
        protected void  setUp() throws Exception {
    
        //super.setUp();
    
        this.activity = this.getActivity();
    
        solo = new Solo(getInstrumentation(), getActivity());
    
        }
        
        public void testLogin(){
            solo.unlockScreen();
            solo.sleep(5000);
            solo.clickOnText("婚纱");
            }
        
        
        public void tearDown() throws Exception {
    
            try {
    
            this.solo.finishOpenedActivities();
    
            } catch (Throwable e) {
    
            e.printStackTrace();
    
            }
    
            this.activity.finish();
    
            super.tearDown();
    
            }
    
            
    
        
    
    
    }
    View Code

      4.运行时如果老是报错:class not found:com.robotium.solo.Solo

      1.build path——order and export中勾选robotium-solo-5.3.1.jar

      2.在菜单栏project中点击clean,ok

  • 相关阅读:
    webMagic 处理get请求
    springCloud Stream
    获取印度时间
    java获取未来或者过去的时间
    List分批处理结果,并在每批中开启一个线程
    java中List集合分批处理
    Redis常用的数据类型
    ubuntu1604软件卸载
    Ubuntu清理无效包、废弃包、冗余包、rc包
    cuda各个版本官方下载地址
  • 原文地址:https://www.cnblogs.com/wyfly/p/4588616.html
Copyright © 2011-2022 走看看