Android 测试框架

2024-03-05

我是 Android 测试框架的新手,想了解现有测试框架之间的区别:Monkey、CTS、Instrumentation Framework 和 Robotium?


仪器仪表是测试的一个类别,与单元测试相反。

该框架提供了用于仪器测试的挂钩,但您将需要额外的第三方框架才能真正开始。

Robotium就是这样一个框架。它允许您编写在用户界面上运行的“脚本”,例如“单击这个”、“输入那个”等。编写得好的它可以带您了解您的用例,从而给人一种您的应用程序不是这样的良好感觉。破碎的。它还允许您测试多个活动和活动交互。

根据我的经验,单元测试对于 Android 来说非常困难,特别是对于处理 UI、数据库、活动状态等的“常规”代码,除非您编写代码是为了可测试性。

Android Monkey 还使用仪器来运行用户界面,但它不遵循脚本。它是随机执行此操作的,其想法是无论它做什么,都不应该使您的应用程序崩溃。通过生成 100000 个事件,它试图根据统计数据获得尽可能高的覆盖范围。除了 Robotium 之外,猴子永远不会离开你的应用程序(这会很危险)。不过,它是一个完美的补充,而且几乎是免费的(设置非常便宜,而且无需维护)。

CTS仅与操作系统和框架本身相关。

您可能还想了解模拟?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 测试框架 的相关文章

随机推荐

  • 箭头函数“预期表达式”语法错误

    我想改造这段代码 var formatQuoteAmount function tx return Currency toSmallestSubunit tx usd USD var quoteAmounts res transaction
  • 如何在列表上触发 Traits 静态事件通知?

    我正在通过traits https github com enthought traits PyCon 2010 的演示 http python mirocommunity org video 1690 pycon 2010 introdu
  • 将数据帧写入 csv 文件,其中 NA 值为空白

    有一个dataframe named cnbd 例如 cnbd data frame 1 2 3 NA NA 5 因此表达式 dim cnbd 1 give 1 我想写一个像这样的数据框cnbd到 csv write file filena
  • React 路由器:在每个 导航上执行自定义函数

    抱歉 如果这个问题已经得到回答 但是有没有一种方法可以在每个导航 最好不创建自定义包装纸 我想在应用程序内的每次导航之前将一些信息放入 sessionStorage 中 Thanks 您可以使用onClick执行任何操作 例如 gt con
  • Django 1.3 中链接静态文件的问题

    我在 Windows XP 上运行 django 1 3 python 2 7 我正在尝试在我的 django 应用程序的静态文件夹中设置 css 模板如下所示 生成的 HTML 如下所示
  • 正则表达式排除 [ 除非前面有 \

    如何编写一个正则表达式来接受包含任意数量的除 之外的任何字符的表达式 除非 前面是 例子 this is text this also this isn t any more 从上面的文字来看 this is text this also
  • @Html.DropDownList 宽度

    问 如何设置 Html DropDownList 的宽度 而不是在 css 中 Html DropDownList ListId String Empty new style width 250px no go 该的第二个论点下拉列表 ht
  • 与有向边的最大加权二分匹配

    我知道计算最大加权匹配的各种算法加权 无向二分图 即分配问题 例如 匈牙利算法 贝尔曼 福特算法甚至 Blossom 算法 适用于一般图 即非二分图 但是 如果二分图的边是 如何计算最大加权匹配加权和定向 我希望能够提供具有多项式复杂度的算
  • java中的equals方法

    我读过有关equals java中的方法 我听说它只是根据价值进行比较 但是为什么在下面的情况下它返回 false 其中值相同但类型不同 public class test public static void main String ar
  • Coq :> 符号

    这可能是非常微不足道的 但我找不到任何关于 gt 符号在 Coq 中含义的信息 有什么区别 U 类型 和 W gt 类型 这取决于符号出现的位置 例如 如果它位于记录声明内 它会指示 Coq 添加相应的记录投影作为强制 具体来说 假设我们有
  • 如何在打字稿中使用不同类型的通用键输入对象

    您将如何在打字稿中输入这些对象 我有一个特殊的 日期时间 键 即日期 其余键是数字 但我事先并不知道每个对象上将设置哪些键 示例值 type Metrics const example1 Metrics datetime new Date
  • Facebook FB.login 在 Safari 中有效,但在移动 Safari 中无效

    以下 FB Login 函数在桌面 Chrome FF 和 Safari 中运行良好 但在移动 Safari 中 在 iPhone 4S 上测试 它挂起并且不会返回 FB login 回调 当我使用 Safari 并将用户代理设置为 Saf
  • 检查是否有节点但没有文本

    我有以下 xml 片段 Case1
  • CSS菜单IE7问题

    菜单适用于所有主要浏览器 但在 IE7 中看起来有所不同 请参阅下面的屏幕截图 查看演示 http jsfiddle net FQLdm 6 http jsfiddle net FQLdm 6 当您将鼠标悬停在主页链接上时 您将看到一个子菜
  • 如何在 intelliJ-idea 中最好地调试 solr?

    如何在 intelliJ idea 中最好地调试 solr 哪条路容易 当向 solr 发布查询时 我想处理这个问题 您可以设置远程调试 在里面运行 调试配置 然后当使用默认的jetty 这个处于多核模式 启动solr时 传入 java a
  • 按第一个字母对字符串数组进行分组

    我面临这个挑战 其中包括 编写一个以字符串数组作为参数的函数 然后 按第一个字母对数组中的字符串进行分组 返回一个对象 其中包含带有代表第一个字母的键的属性 例如 应该返回 groupIt hola adios chao hemos acc
  • Android - EBADF(错误文件号)OnClickInfoMarker

    我搜索过相关问题但没有找到 我创建了一个显示图片 名称和地址的 InfoWindowMarker 然后我创建 OnInfoWindowClickListener 将显示所选标记的纬度和经度 但是当我单击信息窗口时 我收到此错误消息 Logc
  • Kotlin 中对象字段中具有上下文的 Android 类

    Kotlin 中的对象类中是否可以有一个具有上下文的属性 在 Android 中 将上下文相关对象放入静态字段中是一种不好的做法 Android studio 甚至会突出显示它并发出警告 这与 Kotlin 不同 Kotlin 没有警告 示
  • Pandas 数据框从指定列中选择具有最高值的整行

    我有一个数据框 我想返回包含指定列中最大值的完整行 假设我创建了一个像这样的数据框 df pd DataFrame np random randint 0 100 size 25 4 columns list ABCD 然后我会有一个像这样
  • Android 测试框架

    我是 Android 测试框架的新手 想了解现有测试框架之间的区别 Monkey CTS Instrumentation Framework 和 Robotium 仪器仪表是测试的一个类别 与单元测试相反 该框架提供了用于仪器测试的挂钩 但