安卓自动化测试(2)Robotium环境搭建与新手入门教程
Robotium环境搭建与新手入门教程
准备工具:Robotium资料下载
知识准备:
- java基础知识,如基本的数据结构、语法结构、类、继承等
- 对Android系统较为熟悉,了解四大组件,会编写简单的Android应用程序
- 熟悉Eclipse IDE使用方法
- 有足够的耐心与探索精神,遇到问题可以熟练的Google
环境搭建
- 安装jdk,配置环境变量,如果不会请自行Google
- 下载安装Android SDK,并更新
- 下载Eclipse,并安装ADT插件,集成Android SDK
Robotium新手入门
- 下载Robotium官方例子以及最新的JAR包
- 打开Eclipse导入被测试工程
点击查看大图
- 创建测试工程:选择Android Test Project,并点击下一步
点击查看大图
- 输入工程名,并点击下一步
点击查看大图
- 选择被测工程NotePad,并点击完成
点击查看大图
- 在测试工程中新建lib文件夹
点击查看大图
- 将下载好的Robotium jar包拷入lib中,并在build path中将jar包引入工程
点击查看大图
- 打开测试工程中的manifest.xml文件,修改如下
点击查看大图
- 新建junit test case,选择junit4,并输入类名,点击完成
点击查看大图
- 打开新建的测试类,修改继承ActivityInstrumentationTestCase2<NotesList>,创建构造方法,并编写测试代码,具体如图
点击查看大图
01
|
package com.example.android.notepad.test;
|
02
|
03
|
import android.test.ActivityInstrumentationTestCase2;
|
04
|
05
|
import com.example.android.notepad.NotesList;
|
06
|
import com.jayway.android.robotium.solo.Solo;
|
07
|
08
|
public class NotePadTest extends ActivityInstrumentationTestCase2
|
09
|
{
|
10
|
private Solo solo; //声明Solo
|
11
|
public NotePadTest() //构造方法
|
12
|
{
|
13
|
super (NotesList. class );
|
14
|
15
|
}
|
16
|
17
|
@Override
|
18
|
public void setUp() throws Exception
|
19
|
{
|
20
|
solo = new Solo(getInstrumentation(), getActivity());
|
21
|
}
|
22
|
23
|
@Override
|
24
|
public void tearDown() throws Exception
|
25
|
{
|
26
|
solo.finishOpenedActivities();
|
27
|
}
|
28
|
29
|
public void testAddNote() throws Exception
|
30
|
{
|
31
|
//点击add note按钮
|
32
|
solo.clickOnMenuItem( "Add note" );
|
33
|
//比对结果
|
34
|
solo.assertCurrentActivity( "Expected NoteEditor activity" , "NoteEditor" );
|
35
|
//在第一个TextEdit控件上输入内容
|
36
|
solo.enterText( 0 , "Note 1" );
|
37
|
//返回上个界面
|
38
|
solo.goBack();
|
39
|
//点击菜单中的Add note
|
40
|
solo.clickOnMenuItem( "Add note" );
|
41
|
//在第一个EditText中输入内容
|
42
|
solo.enterText( 0 , "Note 2" );
|
43
|
//返回NotesList activity
|
44
|
solo.goBackToActivity( "NotesList" );
|
45
|
//截屏
|
46
|
solo.takeScreenshot();
|
47
|
boolean expected = true ;
|
48
|
boolean actual = solo.searchText( "Note 1" ) ; solo.searchText( "Note 2" );
|
49
|
assertEquals( "Note 1 and/or Note 2 are not found" , expected, actual);
|
50
|
51
|
}
|
52
|
53
|
}
|
- 编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test
点击查看大图
- Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果
点击查看大图
- 一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们
1、最常见的:java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo
解决方法:如图操作后再clean工程
转载于:https://www.cnblogs.com/AmilyWilly/p/4661393.html
安卓自动化测试(2)Robotium环境搭建与新手入门教程相关推荐
- ESP-01S开发环境搭建及新手教程点灯教程全解详细配图(ESP8266-01s)
ESP-01S开发环境搭建及新手教程点灯教程全解相当详细(ESP8266-01s) 一.模组简介 二.开发工具 三.开发软件 四.点亮第一盏灯 五.至此完成了ESP-01S在arduino开发环境下点 ...
- STM32入门笔记(02):MDK Keil5 开发环境搭建及新建工程模板教程(SPL库函数版)
目录 Keil5 开发环境搭建 芯片数据手册 Mec 多功能智能小车底盘开发与使用手册 Mec 主控原理图 Mec STM32F103VET6集成主控板资源分配 Mec OLED 显示内容 如何给 S ...
- JEECG_3.7开发环境搭建与代码生成器入门级教程-张代浩-专题视频课程
JEECG_3.7开发环境搭建与代码生成器入门级教程-3088人已学习 课程介绍 针对入门级同学,清晰讲解JEECG开发平台本地环境搭建步骤,针对jeecg的代码生成器做专题使用讲解, ...
- win2012 r2 iis php,Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建wordpress博客教程
运行环境搭建教程 一.环境说明: 操作系统:Windows Server2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: ...
- Charles网络抓包新手入门教程-(二)软件配置与环境安装(ios14-IOS系统安装配置)
目录 一.环境配置 二.开启电脑代理设置 三.给IPhone手机设置代理服务器 四.Iphone手机下载并信任证书 五.Charles抓取手机数据包 六.总结 一.环境配置 1.Win10系统 2.C ...
- 【LaTeX】E喵的LaTeX新手入门教程(4)图表
这里说的不是用LaTeX画图,而是插入已经画好的图片..想看画图可以把滚动条拉到底.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基 ...
- 想学python都要下载什么软件-学编程闲余时间建议下载的软件_Python新手入门教程...
原标题:学编程闲余时间建议下载的软件_Python新手入门教程 Python新手入门教程_在手机上就能学习编程的软件 很多小伙伴会问:我在学编程,想利用坐地铁坐公交吃饭间隙学编程,在手机上能学编程的软 ...
- 【LaTeX】E喵的LaTeX新手入门教程(3)数学公式
昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}e ...
- 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...
- 【我的Latex学习之路】转载自:E喵的LaTeX新手入门教程(1)准备篇
E喵的LaTeX新手入门教程(1)准备篇 **声明:**本篇博客转载自E喵的LaTeX新手入门教程,具体的出处我也找不到了,网络上好多好多,觉得他写的不错,于是就作为自己入门的教程,摘抄至此,重新排版 ...
最新文章
- java列表包含列表_java – 包含另一个列表的列表
- php下正则替换多个br /
- 机器人能翻转汉堡肉饼 短暂上岗后将“休息”四天
- const类型限定符
- windows7计算机管理,windows7计算机管理
- 存储过程可重用的代码块_利用软件重用经验进行自动化测试推荐
- Python中无法使用“~”获取Ubuntu系统的用户目录
- Web API-本地存储
- LeetCode每日一题——无重复字符的最长子串
- 方正电脑如何关闭网络启动计算机,方正电脑怎么进安全模式
- HCNP数通认证考试心得体会
- 模糊局部信息c均值聚类算法(flicm)
- 五金行业智慧采购解决方案:应用集中采购协同管理系统激活企业数字化采购价值
- css实现六边形图片(最简单易懂方法实现高逼格图片展示)
- 计算机生命科学研究系,生命科学与计算机科学的结合发展研究
- 区块链相关数据报表_区块链行业数据统计
- Java JDK安装及环境变量配置(windows)
- 计算总成绩和平均成绩
- C#实现土豆优酷等网站视频的缩略图
- 单片机 脉搏心率检测 MSP430G2553 Pulse Sensor 红外对射
热门文章
- 【软件使用技巧】二(Word文档损坏)
- Python利用SMTP发邮件
- 【机器学习、神经网络】拟合非线性函数y = x**2 - 2(部分问题未解决)
- 【Tensorflow】【损失函数】交叉熵数据验证(下)---BinaryCrossentropy二分类
- Pytorch——常用的神经网络层、激活函数
- knn——model celectionpreprocessing
- word字间距异常处理方式
- 在PyCharm切换Python2和Python3
- Android头部悬浮ListView第二种实现方式
- 同事:你居然还在用 try catch 处理异常? 有点Low啊