Linux+AS Android源码apk的Robotium自动化测试
来源:互联网 发布:2016中国服装出口数据 编辑:程序博客网 时间:2024/05/17 03:46
最近在研究AndroidStudio+Robotium的自动化测试,由于是刚接触编写自动化测试代码,就在网上找了找了例子,但是看到的大部分都是eclipse的,用as的很少,而且没有一个是基于Linux下android源码的,现在和大家分享一下简单apk的robotium自动化测试,文中主要说的是一些环境的配置,代码编写方面不够全面,大家可以参考其他文章,对于安卓源码apk的自动化测试,通过终端命令进行自动化测试的例子正在完善中,后续将会发表。
基本环境配置:
JDK1.7、Android SDK (minimum API=11;target API=22)
Android Studio version 2.X
Gradle version 2.12+
1 首先创建一个新工程,按示next,最后finish。
当项目创建成功后,若出现下面的错误,可打开与app同级目录下的build.gradle,将
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0-alpha4'
}
中的2.1.0-alpha4 改为 1.3.0 ,此处改完之后可能会导致gradle编译时无法通过,但是通过android studio本身的编译系统对单独的apk进行编译与运行。建议下载版本较高的android studio则不会出现这种情况,下载地址:http://www.androiddevtools.cn/。
当修改完此处,若出现如下错误,说明gradle版本过低,gradle版本应使用2.12以上的版本,可点击错误提示中的Gradle Setting 或 在设置中按如下配置。此步配置完成后,基本不会再出现Gradle错误。
2 将robotiumd 的jar包复制到工程的libs目录下,右键点击jar包,在下拉菜单中点击 Add as library... ,Android Studio 2.2 Preview7好像会自动执行此步骤。
3 打开app目录下的build.gradle文件,在
defaultConfig {
applicationId "com.ontim.robotiumtest6"
minSdkVersion 19
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
中加入testInstrumentationRunner "android.test.InstrumentationTestRunner"
同时,在被测activity的AndroidMainFest.xml中加入
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.ontim.robotiumtest6" />
Instrumentation和application同级,name需和app目录下build.gradle文件中的testInstrumentationRunner 相同,如若不同,会出现以下错误:
Test running failed: Unable to find instrumentation info for: ComponentInfo{com.example.ontim.myapplication.test/android.test.InstrumentationTestRunner}
在Android Studio 2.2 Preview7中会存在testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 这句话,直接删除即可,targetPackage为被测activity所在的包名;
然后在
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.0'
}
中加入androidTestCompile "com.jayway.android.robotium:robotium-solo:5.5.4"
4 测试代码编写
在app/src/androidTest/下新建测试类RobotiumTest extends ActivityInstrumentationTestCase2,首先,声明一个Solo类对象private Solo solo;其次,创建default Constructor、重写 setUp() (此方法用来做一些初始化操作,比如初始化solo)、 tearDown() (此方法用来做一些资源清理工作),最后创建以test为前缀的测试方法进行测试。以下为对默认创建的Activity进行测试的代码,以EditText为例。
public class RobotiumTest extends ActivityInstrumentationTestCase2 {
private Solo solo;
public RobotiumTest() {
super(MainActivity.class); // 被测试类
}
@Override
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(),getActivity());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
public void testEdit() throws Exception {
solo.sleep(2000);
solo.clearEditText(0);
solo.enterText(0, "Hello RoboTest");
}
}
5 将手机与电脑连接,在Android Studio中,右键刚刚创建的测试类(RobotiumTest),在弹出的菜单中点击Run ‘RobotiumTest’,即可在手机上查看运行结果。
- Linux+AS Android源码apk的Robotium自动化测试
- Linux 安卓源码apk的Robotium+as自动化测试
- 【Android自动化测试之Robotium】03. 当只有一个APK的时候使用robotium进行自动化测试
- 【Android自动化测试之Robotium】03. 当只有一个APK的时候使用robotium进行自动化测试
- 【Android自动化测试之Robotium】03. 当只有一个APK的时候使用robotium进行自动化测试
- android 自动化测试之Robotium 测试apk时遇到的问题
- Android Robotium自动化测试
- android 自动化测试robotium
- ANDROID自动化测试 robotium
- Android Robotium自动化测试
- Robotium android自动化测试
- Android 自动化测试—robotium(六)只有APK存在
- Android 自动化测试—robotium(六)只有APK存在
- 重签名android apk,利用robotium进行自动化测试
- Android studio 下的Robotium自动化测试
- Android Robotium测试单个的APK方法
- Android Robotium测试单个的APK方法
- Android自动化测试之robotium
- should be mapped with insert="false" update="false" 解决办法
- js判断访问是电脑,安卓,苹果手机
- github ssh key
- l线程中 CreateEvent 和 SetEvent及WaitForSingleObject的两种用法
- ZCMU1551
- Linux+AS Android源码apk的Robotium自动化测试
- html中的<label>标签有什么用?
- Android之listview下拉刷新
- (LeetCode)String to Integer (atoi) --- ascii 转换为 整数
- [总结]FFMPEG视音频编解码零基础学习方法(向雷神致敬)
- 不常遇见的问题汇总
- http状态响应码
- android shape的使用
- Java 利用poi 导出Excel