使用 KID 测试 UI 动画

Posted

技术标签:

【中文标题】使用 KID 测试 UI 动画【英文标题】:Testing a UIAnimation with KIF 【发布时间】:2012-10-10 20:59:39 【问题描述】:

简短:有没有办法测试动画是否按照 KIF 的方式完成,

Long:在 ios 中,如果您为 UIView 设置动画,是否有办法在 KIF 中“测试”动画,或者至少等待动画结束,或者等待 UIView 处于某个位置?

【问题讨论】:

【参考方案1】:

使用stepToWaitForViewWithAccessibilityLabel,比如等待网络加载完成,带回响应,显示到分页滚动视图,然后我就可以开始滑动了。

[scenario addStep:[KIFTestStep stepToWaitForViewWithAccessibilityLabel:@"pagingScrollView"]];
[scenario addStep:[KIFTestStep stepToSwipeViewWithAccessibilityLabel:@"pagingScrollView" inDirection:KIFSwipeDirectionLeft]];

因此,在您的动画完成后,呈现一个 AccessibilityLabel,例如 animatedDonePresentView

【讨论】:

不确定我是否跟随,所以您建议我在动画“完成时”的代码中设置可访问性标签,这样我可以“等待”动画完成,对吧? 是的,这就是我测试拉动刷新视图的方式。在我的 - (void)pullToRefreshViewDidFinishLoading:(SSPullToRefreshView *)view 我给了它 view.accessibilityLabel = @"pullToRefreshViewDidFinishLoading" 并等待它。 太棒了,你有什么聪明的方法来测试动画是否按照你想要的方式发生,比如动画的持续时间是否正确或移动的方向,或速度或类似的东西?

以上是关于使用 KID 测试 UI 动画的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 应用的 UI 测试中禁用等待空闲状态

使用 React Native 进行排毒 UI 测试非常慢

自定义UI 属性动画

自定义UI 属性动画

自定义UI 属性动画

自定义UI 属性动画