用途:在 Compose UI 测试中输入、替换或清空文本,设置光标或选区,并触发 IME 动作(如 Next、Done、Search)。适用于 TextField、OutlinedTextField、BasicTextField 等暴露 InsertTextAtCursor / SetText 语义动作的组件。
主要能力:performTextInput 在光标处插入;performTextReplacement 调用 SetText 覆盖全部内容;performTextClearance 等价于替换为空串;performTextInputSelection(TextRange(...)) 设置光标或选区,relativeToOriginalText 默认 true,字段安装 VisualTransformation 时可传 false;performImeAction 触发 IME 动作。这些入口会自动聚焦并断言节点已启用、可编辑。
必要用法:先经 Modifier.testTag 定位字段;覆盖已有值必须用 performTextReplacement,连续 performTextInput 会在光标处追加而非替换;performImeAction 要求生产代码声明非默认 ImeAction(KeyboardOptions(imeAction = ...))并提供 OnImeAction,否则抛 AssertionError。状态或文本断言应放在 rule.runOnIdle { … } 内,不要用 Thread.sleep。
适用场景与限制:输入、清空、覆盖、选区替换和 IME 焦点链测试适用;发送任意按键快捷键(Ctrl+A、Tab、方向键)应改用键盘注入技能;仅断言显示文本、定位不到字段、或断言旋转后状态恢复则不属本技能范围。需要 androidx.compose.ui:ui-test-junit4 或 ui-test,并按配置依赖文档设置。缺失信息:未提供费用、平台差异或具体版本号要求。