使用“夜神模拟器”调试robotium(无源码)demo

 关于robotium网上有好多血淋漓的教程,自己也踩过很多坑,自己也总结一下

  1. robotium:本质是instrument,Android自带的一个框架,robotium给他穿了一件外包,更好看,更好用了;

  2. 首先你得有一个搭建好的Android环境,建议去百度,环境的变量一定要配置正确,调试yeshen模拟器:http://jingyan.baidu.com/article/359911f55f327257ff030648.html

  3. 然后你要下载几个东西:

    3.1 robotium的jar包

    3.2 re-sign的 jar 包 :这个是用来重签名的工具,具体的使用方法是,cd到目录,执行java -jar解压jar包,将apk拖进去

    将获取到的apk和packagename和activityname截图,后面会有用、

    3.3如果第二步有一个error=2的错误,那就是你的sdk tools路径下没有ziliplin的exe,将这个文件房子啊tools文件夹下,再次签名就能成功(如果还报错,去检查环境变量)

  4. 编写robotium demo代码


  5. import com.robotium.solo.Solo;
    
    import android.app.Activity;
    import android.test.ActivityInstrumentationTestCase2;
    import android.util.Log;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.TextView;
    
    public class Test_Demo extends ActivityInstrumentationTestCase2{
    	
    	private Solo solo;
    	private static final String TARGET_PACKAGE_ID="com.e
    	xample";
    	private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME="=MainActivity";
    	private static Class launcherActivityClass;
    	final String TAG="Test->N01";
    	long startTime=0;
    	Activity activity;
    	static{
    		try {
    			launcherActivityClass = Class
    					.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
    		} catch (ClassNotFoundException e) {
    			throw new RuntimeException(e);
    		}
    	}
    	
    	public Test_Demo()
    	{
    	
    		super(TARGET_PACKAGE_ID,launcherActivityClass);			
    	}
    	public void setUp() throws Exception {	
    		
    		Log.d(TAG,"启动了一个测试用例 " );
    		this.activity=this.getActivity();
    		solo = new Solo(getInstrumentation(),getActivity());
    	}	 
    	
    	public void testCase01() throws Exception{
    		
    		solo.sleep(5000);
    		assertTrue("登录未加载完",solo.searchText("进入游戏"));
    		solo.clickOnText("进入游戏");
    		solo.waitForText("确认购买?");
    		EditText editText = solo.getEditText("请输入消费夜神币");	
    		solo.enterText(editText,"0.01");
    		solo.clickOnText("确认购买?");
    		solo.waitForText("夜神支付");
    		assertTrue("支付跳转未完成",solo.searchText("钱包余额"));
    		solo.clickOnText("银联支付");
    		TextView view1 = null;
    		view1 = (TextView)solo.getView(0);
    		String Text = (String) view1.getText();
    		System.out.println(Text);
    		assertTrue("qing call me  is false",solo.searchText("searchText"));
    		Thread.sleep(5000);
    	}
    	
    	
    		public void tearDown() throws Exception {  
    			try {  
    			this.solo.finishOpenedActivities();  
    			} catch (Throwable e) {  
    			e.printStackTrace();  
    			}  
    			this.activity.finish();  
    			super.tearDown();  
    			}  
    }

6.修改xml

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

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

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.yeshen.example" />

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

</manifest>

7.run Androidjunittest

8.选择一个设备,我用的是夜神Android模拟器,和真机的效果差不多,adb的链接命令有点不一样

    8.1首先得进入到本地安装nox的bin目录:方法打开文件的位置即可,

    8.2nox_adb connect 127.0.0.1:62001

   如果adb server还是报错,那就继续:nox_adb kill-server nox_adb start-server 再次执行一次连接命令

   设备就识别出来了

   9.0可以编辑自己的case代码了


福利:看元素sdk自带的可以查看 uiinstrument 就在sdktools的目录下

          调试用的夜神模拟器下载的链接地址:http://tui.yeshen.com/file/download/DkdfK5XP  or www.yeshen.com 我是雷锋别夸我

          


转载于:https://my.oschina.net/u/2395492/blog/647213

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值