我的应用程序中有一个集合视图,它在一个表格视图单元格中(是的,我知道这很奇怪),我想对集合视图的滚动进行UI测试。我使用录制按钮,但是Xcode将我的收藏视图上的滑动识别为轻击。如果我手动将生成的UI测试代码从[collectionview tap]更改为[collectionview scrollLeft],,它可以工作,但Xcode不会自动生成用于滑动的代码。
可能的问题是什么?
发布于 2016-05-18 03:10:17
Xcode只有在你的手势轨迹快速、笔直且与你正在滑动的(上/下/左/右)方向一致的情况下,才会将该手势识别为滑动。
我的猜测是,这阻止了将拖拽或点击并按住手势记录为卷帘,因为记录工具不支持这些手势。如果你想使用这两种方法中的任何一种,轻拍手势会更接近。
作为一种解决办法,记下你期望的滑动位置,并切换手势,就像你在没有记录你的滑动时所做的那样。
发布于 2016-05-17 05:32:41
我相信你应该向苹果提交一个bug,并包括一个示例项目。
记录系统可能很难区分轻敲、长按和轻扫。虽然我已经看到tap事件的记录是可靠的,但我发现我正在手动输入swipes或typeText的任何步骤。通常,我使用UI测试记录功能来帮助识别特定的元素,然后在代码中使用这些元素来指定用户交互和断言。
如果你想在github上或者其他地方创建一个样例项目,我很乐意去看看。
编辑:在尝试了您的示例项目之后,我有时能够让Xcode从第一个单元格记录swipeLeft和swipeRight事件。这不是最优雅的方法,但使用我MacBook Air上的触控板,我用一根手指开始水平滑动,而不是按下鼠标键,然后在第一根手指仍在滑动的时候用另一根手指按下按钮。
在某些情况下,Xcode将其简单地记录为tap,并且至少有一次记录了twoFingerTap。
https://stackoverflow.com/questions/37263243
复制相似问题