因为要在命令行下运行一些android的工具,所以配置一些环境变量会比较方便:
配置ANDROID_HOME为android sdk的安卓目录,例如:D:\android-sdk
在path下添加这两个:
%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
在模拟器中安装APK(以米聊作为测试的apk)
因为robotium要求被测应用和测试代码要有一致的key,所以我们需要把下载到的apk,通过re-sign.jar来产生debug key的apk,这个重新生成的apk就会跟测试项目签名一致了
re-sign.jar可以从这里下载到:
http://www.troido.de/re-sign.jar
下载完后,在命令行下 通过 java -jar re-sign.jar就会出现一个节目,然后将apk拖到这个节目,就会自动生成一个debug key的apk
产生新apk的过程中会弹出一个信息框,记得截下图,因为里面有两个信息我们等会的代码中需要用到
然后打开模拟器(模拟器器一定要打开才能安装成功),然后打开命令行
adb install mitalk_debug.apk(新生成apk的名称)
安装成功就可以再模拟器里看到该应用的图标了
创建自动化测试项目
打开Eclipse,点击File->New一个Android Test Project mitalktest(之前用新浪微博但发现re-sign后装上去打开不了),然后点击下一步的时候选择This project(因为我们没有米聊应用的源码),然后选择要在哪个android版本上测试
在该项目下创建一个包,com.mitalk.test,在该包下创建LoginTest类,如下
package com.mitalk.test;
import org.junit.Test;
import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
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.xiaomi.channel.ui.ChannelLauncherActivity";
private static String packageName = "com.xiaomi.channel";
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 testLoginWithIncorrentUsernameAndPassword() {
}
@Override
public void tearDown() throws Exception {
try {
this.solo.finishOpenedActivities();
} catch (Throwable e) {
e.printStackTrace();
}
this.activity.finish();
super.tearDown();
}
}
右键该项目,选择property然后选择java build path, 选择 Add External JARs,选择下到的robotium.jar
往 testLoginWithIncorrentUsernameAndPassword()方法添加入下代码 主要要来验证下输入错误用户名和密码给出的提示信息是否和预期相符
solo.waitForText("Login", 1, 10000);
solo.clickOnText("Login");
solo.waitForText("OK", 1, 2000);
solo.enterText(0, "13559494170");
solo.enterText(1, "123456");
solo.clickOnText("OK");
solo.waitForText("Incorrect ID number or password.", 1, 10000);
assertTrue(solo.searchText("Incorrect ID number or password.",true));
在跑测试用例之前,还需要修改下AndroidManifest.xml文件的android:targetPackage为被测应用的根的包名
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.xiaomi.channel" />
以上都弄完了,run as android junit test,就可以跑了
分享到:
相关推荐
在android模拟器中安装APK文件说明 。
android:windows下面如何从模拟器安装和卸载APK。dos下用命令行操作安装和卸载。
使用模拟器安装安卓的APK文件的视频教程。
如何在Android模拟器上安装和卸载APK程序包
如何在Android模拟器上安装和卸载APK包
这个文档是教大家在Android的模拟器上安装格式为apk的文件,安装成功后可以在模拟器上运行安装成功的软件。
如何在电脑上安装安卓模拟器(附_APK安装法_,SD卡文件管理,安卓模拟器,apk安装器下载地址)
安装APK文件到Android模拟器.doc安装APK文件到Android模拟器.doc安装APK文件到Android模拟器.doc安装APK文件到Android模拟器.doc安装APK文件到Android模拟器.doc安装APK文件到Android模拟器.doc
APK模拟器_Android模拟器_安装使用教程
第二步:进入模拟器(界面可能和图有些不同,但是只要找到和图中字母一样的选项就可以以),进入模拟器之后选择图中的第一个选项 海豚模拟器安卓汉化下载 在这里要记住打开屏幕旋转,进入之后,会看到所有按键...
NULL 博文链接:https://sunzone.iteye.com/blog/1868302
三种方法:(必须在模拟器启动的情况下) 法一: 进入模拟器,在模拟器中点击程序"设置(setting)",->应用程序->点击想卸载的程序即可卸载!这种方法有点慢,要一个一个卸载!
安卓android sfc snes游戏模拟器源码Demo和测试游戏 下载后按说明操作,免积分下载点我头像查看联系方式找我。 这是一个可以运行SFC模拟器(支持Snes格式ROM游戏) 其中 dq6.smc 为最终幻想示范游戏。安装APK后将这...
安卓GBA游戏模拟器源码编译APK与测试游戏.zip 下载后可以按说明测试apk。免积分下载可以点我头像查看联络方式我发给你。 任何问题联系我即可
Android模拟器躲避的检测与应对,介绍模拟器检测的主要方法
安装APK文件到Android模拟器
经常我们需要在android的模拟器中安装一些apk软件,但是手动安装的时候,要复制文件到adb.exe所在的目录进行安装,或者取得adb.exe的文件路径或者apk文件路径之后,再执行cmd命令来安装,如果装一个android程序还好一点,...
android模拟器安装和apk(应用程序)安装与卸载
介绍了在Android模拟器上,如何来安装APK文件的方法,已通过测试,方便实用.
379673637091231蛋蛋模拟器v5.0.4.apk