×

robotium 自动化测试

robotium(Monkey Runner和Robotium自动化测试的区别)

admin admin 发表于2023-08-05 02:56:42 浏览40 评论0

抢沙发发表评论

本文目录

Monkey Runner和Robotium自动化测试的区别

你好,1 . MonkeyRunner是通过adb进行对屏幕的元素dump进行解析,并且基于坐标发送点击操作,然后在这个基础上做封装、robotium是基于Instrumentation框架,通过InstrumentTestRunner调用起应用,通过java反射的原理,获取应用的界面元素,然后对界面元素进行操作 2 . 前者限制大,后者更灵活 3 . MonkeyRunner必须要通过adb才能做,服务端在电脑。Robotium可以直接在手机单独运行

robotium 如何测试预装apk

Robotium 测试Android apk安装包介绍要测试apk程序必须和我们编写的测试程序拥有相同的签名(signature)。如果没有apk程序的签名秘钥,就要去除apk程序的签名,然后再使用自己的key对其签名(这一步中,我们可以使用debug key),已经有现成的工具可用,下载地址re-sign.jar,这个工具可以去掉apk程序的原签名,然后使用我们自己的debug key对其签名。详细编写测试用例之前,我们需要知道apk程序的包名(package name)和启动页面名称(launcher activity name),这两个名称我们可以通过程序启动时的日志(adb logcat)来获取。程序日志会打印出包名和activity名称。 日志格式类似于:Starting activity: Intent { act=android.intent.action.MAIN cat=android.intent.category.LAUNCHER? flg=0x10200000 cmp=com.example.android.notepad/.NotesList。上面的日志表明程序包名为:com.example.android.notepad、启动activity名为:com.example.android.notepad.NotesList,这里的activity name就是下面代码中的LAUNCHER_ACTIVITYFULLCLASSNAME。下面是测试代码的例子:package com.yourcompany.yourtestname;import com.jayway.android.robotium.solo.Solo;import android.test.ActivityInstrumentationTestCase2;@SuppressWarnings(“rawtypes“)public class ReallyBlackboxTest extends ActivityInstrumentationTestCase2 { private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = “com.newsrob.DashboardListActivity“; private static Class《?》 launcherActivityClass; static{ try { launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } @SuppressWarnings(“unchecked“) public ReallyBlackboxTest() throws ClassNotFoundException { super(launcherActivityClass); } private Solo solo; @Override protected void setUp() throws Exception { solo = new Solo(getInstrumentation(), getActivity()); } public void testCanOpenSettings(){ solo.pressMenuItem(0); } @Override public void tearDown() throws Exception { solo.finishOpenedActivities(); }}

robotium可以测试ios吗

  robotium的一个测试尝试转载

  这几天一直在学习robotium,但是在网上找了很久除了一个测试noteslist的例子外,其他基本上没有多少资料,但是网上关于noteslist的例子在我这不知道为什么老是行不同,于是就觉得自己弄,不按照网上的提供的方法了,经过2天的摸索和研究终于在今天搞定,下面就把我的成果分享给大家:

  1.启动Eclipse执行 New --》 Project --》 Android Project --》 Create Project from existing sample --》 NotePad将自带的例子导入进来.

  2.将robotium导入到刚新建的工程中如图

  3、在该工程中新建一个类并将从robotium官网下载的例子粘贴到刚建的类中,如图

  4、在AndroidManifest.xml中添加如下内容:

  《uses-library android:name=“android.test.runner“ /》    《/application》    《uses-sdk android:minSdkVersion=“10“ android:targetSdkVersion=“10“/》    《instrumentation android:targetPackage=“com.example.android.notepad“ //要测试的包                     android:name=“android.test.InstrumentationTestRunner“ /》

  5、现在就可以运行了,下面是我的测试结果:

robotium教程

借花献佛,我也是网上查到的资料,但是对我有用,分享给你. 一、Robotium简介Robotium是一个测试框架,能够方便你为Android应用程序编写强大、健壮的自动化黑盒测试用例。利用Robotium的支持,用例开发人员能够编写功能、系统和验收测试方案,跨越多个 Android activities。Robotium支持Activities、Dialogs、Toasts、Menus和Context Menus。Robotium自动化测试方法能够模仿普通用户行为,可以试着把一些原来由测试工程师做的测试变成Robotium自动化实现。 Robotium 提供下列好处1.以最小的应用程序知识,开发功能强大的测试案例。2.框架支持多个activities 自动活动。3.最短的时间需求写出测试用例。4.测试案例的可读性比标准的仪器测试大大提高。5.通过运行时绑定GUI组件使测试用例更强大。6.执行测试用例速度快。7.顺利整合了Maven或Ant来运行测试,持续集成的一部分。8.该工具用于黑盒的自动化测试。可以在有源码或者只有APK的情况下对目标应用进行测试,提供了模仿用户操作行为的API,比如在某个控件上点击,输入 Text 等等。 二、Robotium测试工程创建 建立工程有两种: 1、依赖工程建立:如notePadTest 2、建立独立的测试工程,这样的工程需要将apk包重新签名,之后安装到模拟器或真机上。然后就可以运行了。 确保环境1.已经安装eclipse2.Eclipse已经配置好android相关环境3.存在已经创建模拟器4.存在一个编译通过的被测工程这里以AndroidSDK/samples/android-9/NotePad为例:在Eclipse中导入该工程 File --》 New --》Project --》 Android Project --》 Create Project from existing source--》 NotePad.步骤1. 在官方down栏下下载所需要的jar包地址:

关于robotium中的webelement获取网页元素,通过js怎么去获取

  robotium框架支持WebView,在robotium中有getWebElements()、getWebElements(By by)等方法来获取android中的WebView的元素,并提供了 clickOnWebElement方法来完成点击事件.android中的原生控件是比较好攻取的,那么对于WebView这个框架是怎么获取的呢。  第一步:利用JS获取页面中的所有元素  在PC上,获取网页的元素可以通过注入javascript元素来完成,以Chrome浏览器为例,打开工具——JavaScript控制台(快捷方式:Ctrl+Shift+J),输入 javascript:prompt(document.URL)即会弹出含当前页面的URL的提示框,因此通过编写适当的JS脚本是可以在这个弹出框中显示所有页面元素的。RobotiumWeb.js就是此功能实现用的JS脚本。以solo中getWebElements()为例,   view plaincopy  public void enableJavascriptAndSetRobotiumWebClient(List《WebView》 webViews, WebChromeClient originalWebChromeClient){  this.originalWebChromeClient = originalWebChromeClient;    for(final WebView webView : webViews){    if(webView != null){  inst.runOnMainSync(new Runnable() {  public void run() {  webView.getSettings().setJavaScriptEnabled(true);  webView.setWebChromeClient(robotiumWebClient);    }  });  }  }  }  第三步:将提示框中的消息存入WebElement Java bean中  获取到了prompt提示框中的消息后,接下来就是对这些已经过处理含特殊格式的消息进行解析处理了,依次得到WebElement的id、text、name等字段。