我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android JUnit test 进行自动化测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android JUnit test 进行自动化测试

  一. 被test的工程:   新建一个android工程:D_session;它有一个activity:D_sessionActivity;package名:com.mysession   二.测试工程:   新建一个测试工程:D_sessionTest, 类型是android test project;   1. menifest文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mysession.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.mysession" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses-library android:name="android.test.runner" /> </application> </manifest>   2. 一个base activity 来定义各种模拟测试者的动作和判断测试结果,各个测试类都继承该类: package com.mysession.test; import android.app.Activity; import android.app.Instrumentation; import android.app.Instrumentation.ActivityMonitor; import android.content.Intent; import android.test.InstrumentationTestCase; import android.test.TouchUtils; import android.widget.Button; import android.widget.TextView; import com.mysession.D_sessionActivity; public class SessionActivityTest extends InstrumentationTestCase { private Instrumentation mInstrumentation; private ActivityMonitor mSessionMonitor; private Activity mCurrentActivity, mSessionActivity; private String TextNotEqual = "text not equal."; private static final String PackageName = "com.mysession"; @Override protected void setUp() throws Exception { // 初始化 super.setUp(); if (mInstrumentation == null) { mInstrumentation = getInstrumentation(); } mSessionActivity = null; } @Override protected void tearDown() throws Exception { super.tearDown(); //释放资源 closeActivity(mSessionActivity); mCurrentActivity = null; } private void closeActivity(Activity activity) { if(activity != null){ activity.finish(); activity = null; } } public void openSessionActivity() { // 打开session activity try { setUp(); } catch (Exception e) { e.printStackTrace(); } mSessionMonitor = mInstrumentation.addMonitor( D_sessionActivity.class.getName(), null, false); Intent intent = new Intent(Intent.ACTION_MAIN); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClassName(PackageName, D_sessionActivity.class.getName()); mInstrumentation.startActivitySync(intent); mSessionActivity = getInstrumentation().waitForMonitor(mSessionMonitor); assertNotNull(mSessionActivity); mCurrentActivity = mSessionActivity; } //判断text是否正确 public void assertTextEqual(int resId, String strText) { TextView textView = (TextView) mCurrentActivity.findViewById(resId); assertNotNull(textView); assertEquals(TextNotEqual, strText, textView.getText().toString()); }; // 模拟按钮点击事件 public void clickButton(int resId){ Button button = (Button) mCurrentActivity.findViewById(resId); assertNotNull(button); TouchUtils.clickView(this, button); } }3. 各个测试类:   测试类一: package com.mysession.test.cases; import com.mysession.R; import com.mysession.test.SessionActivityTest; public class MyCase1 extends SessionActivityTest { public void testCase1() { openSessionActivity(); assertTextEqual(R.id.etUrl, "http://172.20.230.5/iportal/samples/jsapi/mobile.html"); } public void testCase3() { openSessionActivity(); clickButton(R.id.btnLoad); clickButton(R.id.btnHistory); } }   测试类二: package com.mysession.test.cases; import com.mysession.R; import com.mysession.test.SessionActivityTest; public class MyCase2 extends SessionActivityTest{ public void testCase2() { openSessionActivity(); clickButton(R.id.btnLoad); } }   三. 有些动作(如点击menu)需要通过包robotium-solo-1.8.0.jar来完成。   所以要在Build Path->Configure Build Path…中导入:robotium-solo-1.8.0.jar   程序中:   private Solo solo;   solo = new Solo(getInstrumentation(),getActivity);   可以使用solo了, 如:   solo.clickOnMenuItem(text);   solo.goBack();


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android JUnit test 进行自动化测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android JUnit test 进行自动化测试

一. 被test的工程:新建一个android工程:D_session;它有一个activity:D_sessionActivity;package名:com.mysession二.测试工程:新建一个测试工程:D_sessionTest,
2022-06-06

Android中使用JUnit进行自动测试

假设你正在编写Android服务代码,而且,又要时不时的重构代码,那么,有效的方式是添加自动测试用例。在写过一个简单的sample以后,发现确实很容易,下面我google的一些资料,关于如何在Android上自动测试类,通常是下面的服务类。
2022-06-06

Android中使用Junit进行单元测试

不管我们在学习还是在开发的时候,都会用到测试,在Android中进行的Junit单元工具测试需要创建一个类去继承于AndroidTestCase类,同时还需要在主配置文件AndroidManifest.xml中配置相关的信息创建Test类继
2022-06-06

Laravel怎么进行自动化测试

这篇文章主要介绍“Laravel怎么进行自动化测试”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Laravel怎么进行自动化测试”文章能帮助大家解决问题。为什么需要自动化测试自动化测试并不复杂:它们
2023-07-04

Android自动化测试

操作对话框(Dialog)上面的控件Robotium框架提供了获取、操作控件的API,如下图:对于有id或者String的控件可以通过Robotium直接找到,但是对于弹出的Dialog上面的控件单纯的利用Robotium的API是行不通的
2022-06-06

Python进行自动化测试工具

在自动化测试里Python用途很广,但是市面上测试工具不是很多,这里主要介绍的是一些Python测试的框架1、单元测试a、unittest、doctest:Python自带的单元测试框架b、pyunit:Junit的Python版本c、py
2023-01-31

Android中如何使用JUnit进行单元测试

在我们日常开发android app的时候,需要不断地进行测试,所以使用JUnit测试框架显得格外重要,学会JUnit可以加快应用的开发周期。Android中建立JUnit测试环境有以下两种方法。一、直接在需要被测试的工程中新建测试类集成步
2022-06-06

使用Junit对Android应用进行单元测试

在本文中,你将会学习到如何在Eclipse中创建Android JUnit的单元测试工程以及在不同的条件下创建及运行自动测试用例。准备工作本文假设读者已经有一定的Android基础知识,并且已经安装了Eclipse和Android SDK等
2022-06-06

UIAutomation怎么进行UI自动化测试

UIAutomation是一种用于自动化UI测试的技术,它可以模拟用户在界面上的操作并验证预期结果。下面是使用UIAutomation进行UI自动化测试的一般步骤:1. 安装UIAutomation工具:如Appium、UIAutomato
2023-08-19

Android monkeyrunner自动化测试

monkeyrunner测试主要是通过编写一个Python程序去安装一个Android应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。由于SDK是旧版本,暂时无法获取自定义屏幕上的组件焦点,所以通过
2022-06-06

Android下如何使用JUnit进行软件测试

软件测试作为程序员必备的一项技能是决定软件开发周期长短以及软件运行成败的关键,可以说好的软件不是代码写得好而是有效的测试决定的。本文将介绍在android下利用eclipse进行开发时如何使用JUnit进行单元测试。一、测试的分类(仅举例其
2022-06-06

如何进行Postman自动化接口测试

如何进行Postman自动化接口测试,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。背景描述有一个项目要使用postman进行接口测试,接口所需参数有:appid: 应用标识;s
2023-06-21

Postman中怎么进行接口测试和自动化测试

在Postman中进行接口测试和自动化测试可以按照以下步骤进行:创建一个新的Postman集合:在Postman中,创建一个新的集合来组织你的测试用例。集合可以包含多个请求,你可以按照不同的功能或模块进行组织。添加测试用例:在集合中添加测试
Postman中怎么进行接口测试和自动化测试
2024-03-13

Android移动端自动化测试,Sele

Android移动端自动化测试,Selenium3自动化测试,Python3 测试,Java接口测试21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,***测试,测试用例设计,黑盒测试,白盒测试
2023-01-31

Android自动化测试可行性途径分析

测试手段1: CTS用来确保某设备符合Android兼容性规范。CTS 原来只对 OHA 联盟开放。近 Google 把它 Release 出来了。似乎做过一些裁剪 , 比如针对 Java 虚拟机的测试,似乎被删除了,但我们一般用不着这么高
2022-06-06

android自动化测试怎么做

Android自动化测试可以通过以下几个步骤来进行:1. 选择测试框架:Android提供了多个测试框架,如JUnit、Espresso、UI Automator等。根据需求选择合适的测试框架。2. 编写测试用例:根据需求和功能,编写测试用
2023-10-07

Android手机测试的自动化测试工具

Android自动化测试相对来说还是比较难,Instrumentation比较难以使用。下面和大家分享一个Android自动化测试工具Robotium。Robotium是一款测试Android App的测试框架,它使得编写黑盒测试代码更加容
2022-06-06

怎么使用postman进行接口自动化测试

这篇“怎么使用postman进行接口自动化测试”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用postman进行接口自
2023-06-30

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录