Skip to content

Conversation

@debugtalk
Copy link
Contributor

背景

在体验评测中,我们需要精确度量出某些操作的耗时,例如点击启动抖音到开始播放视频的耗时(首帧)。

在 iOS 系统中,不存在类似 Android debug 模式,因此要识别操作的起始点就十分困难。为了解决该问题,可以在 WDA 中加入打点日志,针对关键的 UI 操作记录其时间戳和步骤标识(identifier),然后就可以记录得到关键步骤的起始点时间。

对应地,在 gwda 中调用 WDA 时,需要传入额外的控制参数,例如 开启日志、指定步骤标识(identifier)等。

核心修改

1、新增 DataOption,用于对请求 WDA 的 post data 进行修改:

  • WithPressDuration:设置 duration 字段,适用于 Drag、DragFloat
  • WithFrequency:设置 frequency 字段,适用于 SendKeys
  • WithCustomOption:支持添加自定义的字段,保障灵活性

2、WebDriver 的方法签名调整:

  • Tap、TapFloat、Swipe、SwipeFloat:新增可选的 DataOption 参数
  • Drag、DragFloat:将可选参数 pressForDuration ...float64 替换为 options ...DataOption
  • SendKeys:将可选参数 frequency ...int 替换为 options ...DataOption

替换可选参数的原因是可选参数可能需要传入多个。

3、调用 debugLog 时,避免打印 screenshot 的响应内容

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant