Android 测试分片

2023-11-21

谁能解释一下 android 中的测试分片意味着什么? 如果有人可以分享任何教程将会非常有帮助。

碎片这个词的意思是整体的一小部分。仅凭一个数字如何进行分片?我应该在什么基础上指定 shardIndex?

定义如开发人员文档中所示。

测试分片

测试运行器支持将单个测试套件拆分为多个 分片,因此您可以轻松运行属于同一分片的测试 作为一个组,在同一个 Instrumentation 实例下。每个 分片由索引号标识。运行测试时,使用 -e numShards 选项指定要创建的单独分片的数量 以及 -e 分片索引选项来指定要运行的分片。

例如,将测试套件分成 10 个分片并仅运行 测试分组在第二个分片中,请使用以下命令:

adb shell am instrument -w -e numShards 10 -e shardIndex 2


测试分片允许您将测试均匀地分为几组。分片索引是您正在运行的“百分比”组。组的划分方式是任意的,因为分片的目的是并行化您的测试。

例如,假设您要运行 60 个测试,每个测试需要 1 分钟才能完成。如果您要在单个设备上运行此程序,则需要一个小时才能运行所有测试。现在假设您希望通过同时在一台设备上运行一半测试并在另一台设备上运行另一半测试来加快测试速度,这样总共只需要 30 分钟。

您可以通过并行运行以下 ADB 命令来完成此操作。

adb -s DEVICE_1_SERIAL shell am instrument -w -e numShards 2 -e shardIndex 0 > device_1_results // Runs first half of the tests
adb -s DEVICE_2_SERIAL shell am instrument -w -e numShards 2 -e shardIndex 1 > device_2_results // Runs second half of the tests

现在,您通过将负载均匀分布到两台设备,仅在 30 分钟内就运行了所有 60 个测试,并且现在可以处理结果。

有关其工作原理的详细信息,请查看内部的 ShardingFilterhttps://android.googlesource.com/platform/frameworks/testing/+/2fe8aed7542ee05ce504d69656475d1948e9c5b2/androidtestlib/src/com/android/test/runner/TestRequestBuilder.java

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

Android 测试分片 的相关文章

  • Android 屏幕方向错误

    我使用的是 Android HTC HERO 2 1 版本 我写的活动
  • 浓缩咖啡测试失败

    我正在 Android 中进行一些 Espresso 测试 测试失败并出现以下错误 java lang ClassCastException androidx fragment app testing FragmentScenario Em
  • SimpleCursorAdapter 的替代品?

    我正在查看 Android 开发者网站上的记事本教程 并注意到SimpleCursorAdaptor已弃用 新的构造函数 public SimpleCursorAdapter Context context int layout Curso
  • 如何在android中点击画布上绘制的圆圈?

    我正在开发一个人脸检测应用程序 在这个应用程序中 我必须在脸上的眼睛和嘴巴用户可以点击拖动圆圈 在检测到的人脸上根据自己设置位置 因此 所有圆圈都已成功绘制在脸上 但我无法单击特定圆圈并使用缩小选项在整个脸上移动 请建议我有关相同问题的正确
  • 如何使用 Android 版 Facebook 同步的联系人图片

    我的手机上安装了 Android 版 Facebook 它会自动将联系人列表中人员的 FB 个人资料图片同步到我的手机 我想在我访问的应用程序中使用这些图片ContactsContract PhoneLookup 我真的需要 Faceboo
  • fresco 的 Proguard 错误

    我正在使用 ProGuard 当我在发布配置中运行项目时 出现以下错误 Warning com facebook imagepipeline bitmaps DalvikBitmapFactory can t find referenced
  • android - 过度绘制布局允许通过 LinearLayout 进行触摸

    在下面的 UI 中 我将下面的 drabable 覆盖了整个屏幕 LinearLayout 是透明的 并允许其下方的控件可单击或可触摸 基本上我可以滚动此 LinearLayout 下面的列表以及单击控件 我如何禁用它 See attach
  • 为网络和/或持久存储序列化 Android Bundle?

    我需要序列化一个全面的应用程序 游戏 状态 以便通过网络传输或保存到磁盘并在以后检索 当然 捆绑包用于在多个用例中保存 恢复状态 因此使用它们将是理想的选择 但是 由于某种原因 Bundle 不可序列化 寻找解决方案只发现了将 Bundle
  • Android 上通过 JSCH 的基本 SSH 连接

    作为来自此的用户question https stackoverflow com questions 14323661 simple ssh connect with jsch和这个tutorial http eridem net andr
  • PhoneGap 是应用程序开发的好选择吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android,语言文件不起作用

    我现在正在创建一个 Android 应用程序 并尝试为我的母语添加语言文件 但在某种程度上 这对我不起作用 我尝试在两部不同的手机中加载该应用程序 但结果相同 之前创建过语言文件 效果良好 但这次不行 手机设置为瑞典语 语言文件适用于我创建
  • 使用 POST 将数据从 Android 发送到 AppEngine Datastore

    抱歉 如果这是一个简单的问题 但我只是不知道我应该做什么 而且我认为我有点超出了我的深度 我想将数据从 Android 应用程序发送到在 Google App Engine 上运行的应用程序 数据必须从那里写入数据存储区 我的数据主要采用对
  • NullPointerException org.chromium.android_webview.AwContents$AwViewMethodsImpl.onDragEvent

    大约 10 天前 我的应用程序开始记录此异常 在开发控制台上看到 java lang NullPointerException at org chromium android webview AwContents AwViewMethods
  • 来自外部 XML 的 Android 本地化

    是否可以使用从服务接收到的 XML 在运行时翻译 Android 应用程序 如果可能的话 请有人指出我正确的方向 谢谢 Warning 我读到的所有内容都表明 让您的应用程序更改语言不是一个好主意 因为 Android 框架不支持它 并且可
  • 将搜索结果更新为 Android 中的 Lazy Adapter

    我有项目列表 想为其实现搜索功能 因此 我有一个带有 addTextChangedListener 的文本框 搜索结果运行良好 但当我尝试将结果设置为 ListView 时 新结果将附加到旧结果中 我正在使用惰性适配器 如何清除适配器中的旧
  • ImageButton 拉伸背景图像

    我正在尝试创建一个没有边框的 ImageButton 但遇到了图像按钮大小的问题 我使用 Eclipse ADT 将 ImageButton 拖到布局中并选择背景图像 图像按钮显示如下 正如您所看到的 背景图像和图像按钮周边之间有一个边框
  • Android 依赖项:apklib 与 aar 文件

    据我了解 apklib包含代码 共享资源Maven aar文件由以下人员分发Gradle The aar与 apklib 的主要区别在于 类被编译并包含在 aar 根目录下的classes jar 中 然而apklib不能包含已编译的类文件
  • Android - 内容值覆盖现有行

    我正在尝试使用插入值ContentValues 我已将 5 个值插入到 5 列中 运行应用程序后 我只有最后一组值的行ContentValues 前四组未插入 ContentValues cv new ContentValues cv pu
  • 对基本适配器类及其功能的疑问

    我正在尝试自定义列表视图 我使用数组列表添加对象列表 并将其发送到扩展基本适配器的类 当我扩展基本适配器类时 它实现了一些方法 例如 getView 等 在 getView 中 我将其发送到将名称 数据 分配给 XML 格式的自定义菜单的类
  • UnsupportedOperationException:特权进程中不允许使用 WebView

    我在用android sharedUserId android uid system 在我的清单中获得一些不可避免的权利 从 HDMI 输入读取安卓盒子 http eweat manufacturer globalsources com s

随机推荐

  • 翻译自定义 jQuery 验证消息

    我有一个关于 jQuery 验证的问题要问plugin 我已使用本地化来更改以西班牙语显示的错误消息的默认语言 但我找不到有关要翻译的自定义消息的任何内容 有什么线索吗 例如 我已经包含了西班牙语的翻译文件 这是我的代码 signup fo
  • 如何在Python中将for循环转换为并行处理?

    我仍处于学习 Python 的早期阶段 如果这个问题听起来很愚蠢 请提前道歉 我有这组数据 以表格格式 我想向其中添加一些计算列 基本上我有一些位置经度 纬度和目的地经度 纬度 以及各自的数据时间 并且我正在计算每对之间的平均速度 示例数据
  • 如何在没有singleTop的情况下使用Android SearchView?

    我有一个 Activity 通常希望存在于多个任务中 以便 后退 按钮恢复之前的状态 不过 我也想用一个搜索视图与现有的活动 而不将新的活动推入任务堆栈 因为我想搜索当前显示的内容 这是我的问题 如果我将 Activity 的启动模式设置为
  • AngularJS [$injector:unpr] 未知提供者

    我正在尝试将服务注入控制器 但出现以下错误 Error injector unpr Unknown provider employeeServiceProvider lt employeeService http errors angula
  • PHP 对象与数组——迭代时的性能比较

    我有大量用于神经网络的 PHP 对象 我必须对其进行迭代并执行一些数学运算 我想知道在类实例上使用关联数组是否会更好 我正在处理周围3640对象并迭代500次 最多 因此任何微观优化都有很大帮助 这样做必然会更快吗 object value
  • PHP 显示来自 MySQL 的图像 BLOB [重复]

    这个问题在这里已经有答案了 我正在尝试显示存储在数据库中 BLOB 列中的图像 我使用 SELECT 从数据库中获取数据 不对数据执行任何转换 并使用以下内容显示它 来自唯一输出如下的脚本 header Content Type image
  • Windows Phone 7 关闭应用程序

    是否有可能以编程方式关闭 Windows Phone 7 上的 Silverlight 应用程序 如果您编写 XNA 游戏 您将可以访问显式的Exit 方法 如果您正在编写传统的 Silverlight 项目 那么NO 无法以编程方式关闭您
  • 在 defer 函数内部发生恐慌是否可以,特别是当它已经发生恐慌时?

    func sub defer func panic 2 panic 1 func main defer func x recover println x int sub 我尝试了这段代码 这似乎是第一次恐慌panic 1 只是被第二次恐慌
  • 改造关闭响应体

    我一直收到这个错误 A connection to was leaked Did you forget to close a response body 所以我继续关闭我收到的回复 response body close 问题是 如果 re
  • 与其他禁用的 TextBox 相比,c# TextBox 被禁用时边框会发生变化

    我有一个非常奇怪的问题 我有多个用于用户名 密码的文本框 以及每个用户 密码组旁边的复选框 当用户单击复选框时 如果他选中了它 则其旁边的用户名和密码文本框将被启用 并且焦点将设置为用户名文本框 如果用户取消选中复选框 则其旁边的文本框将被
  • Laravel Blade 使用 $(document).ready 函数

    我正在尝试使用 laravel Blade 模板 包括一些 javascript 代码到子视图中 我有我的邮件应用程序 blade php文件 其中放置 jquery 初始化字符串 在我的子视图文件中设置 blade php我想使用一些 j
  • 实体框架 - 荒谬的查询,将smallint转换为int以进行比较[重复]

    这个问题在这里已经有答案了 这里没有想法了 我有一个简单的表 模型首先与实体框架映射 并生成以下 SQL p linq 0 int p linq 1 int SELECT Extent1 BucketRef AS BucketRef Ext
  • 重复数据框的行

    我正在尝试重复数据框的行 这是我的原始数据 pd DataFrame col1 1 col2 11 col3 1 2 col1 2 col2 22 col3 1 2 3 col1 3 col2 33 col3 1 col1 4 col2 4
  • 获取对父 IFRAME 的引用

    假设我有一个对包含在 IFRAME 内的文档对象的引用 如何获取对容器 IFRAME 的引用 parentNode 和 ownerDocument 都返回 null 请注意 没有可用的上下文信息 例如 window xxx 等解决方案将不起
  • 将移动应用程序同步到 Android Wear

    根据文档 打包可穿戴应用程序我正在使用以下代码 dependencies compile com google android gms play services 5 0 aar compile com android support su
  • Python Pandas - 缺少必需的依赖项 ['numpy'] 1

    从昨天开始 当我尝试在 anaconda 上导入包时出现此错误 ImportError Missing required dependencies numpy 我尝试卸载 Anaconda 和 Python 切换到 Python 2 7 但
  • 在 codeigniter 中调试路由?

    我想知道是否有任何简单的方法可以在 codeigniter 中调试路由 最好我希望能够在日志中看到以下内容 Client sent apps something Route found apps any gt applications se
  • SQL Server:拆分操作

    如何在 SQL Server 中拆分字符串 例子 输入字符串 stack over flow Result stack over flow 如果您不能使用表值参数 请参阅 SQL Server 2008 中使用表值参数的数组和列表 作者 E
  • 是否可以在 Visual Studio 中为动态对象提供智能感知?

    我在项目中使用动态对象 并且我想为该对象提供智能感知 我知道 Visual Studio 无法知道智能感知要显示什么 但如果我可以插入智能感知 我确实知道应该显示哪些条目 有没有办法扩展 Visual Studio 的智能感知 如果是这样
  • Android 测试分片

    谁能解释一下 android 中的测试分片意味着什么 如果有人可以分享任何教程将会非常有帮助 碎片这个词的意思是整体的一小部分 仅凭一个数字如何进行分片 我应该在什么基础上指定 shardIndex 定义如开发人员文档中所示 测试分片 测试