You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Expo应用的Maestro E2E测试中获取自定义切换按钮的isActive状态?

如何用Maestro检查React Native自定义切换按钮的isActive状态

你的组件已经正确配置了accessibilityState.selected和testID,这是实现状态检查的核心依据,以下是具体的Maestro测试方案:

方案一:直接检查Accessibility状态(推荐)

利用组件上绑定的accessibilityState={{ selected: isActive }},通过Maestro的assert命令直接验证选中状态:

# 初始状态:检查按钮未激活(isActive=false)
- assert:
    selected: false
    element:
      testID: "AC_LABELS.TOGGLE_COMPONENT_BUTTON_ITEM"

# 点击切换按钮状态
- tapOn:
    testID: "AC_LABELS.TOGGLE_COMPONENT_BUTTON_ITEM"

# 切换后:检查按钮已激活(isActive=true)
- assert:
    selected: true
    element:
      testID: "AC_LABELS.TOGGLE_COMPONENT_BUTTON_ITEM"

方案二:结合UI样式辅助验证(可选)

如果你的动画样式(colorAnimation/togglePositionAnimation)会带来可见的UI变化(比如背景色、滑块位置偏移),可以额外添加样式断言做双重验证:

# 假设激活状态下切换栏背景色为#007AFF
- assert:
    element:
      testID: "AC_LABELS.TOGGLE_COMPONENT_BUTTON_ITEM"
    matches:
      background: "#007AFF"

注意事项

  • 确保AC_LABELS.TOGGLE_COMPONENT_BUTTON_ITEM是实际传递给testID的字符串值,Maestro需要精确匹配。
  • 优先使用Accessibility状态断言,它直接绑定业务逻辑的isActive状态,比样式断言更稳定可靠。

内容的提问来源于stack exchange,提问作者RightHot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:48:12