2016-05-16 92 views
1

我在我的应用程序中有一个集合视图,这是在表格视图单元格内(是的,我知道这很奇怪),我想用UI测试集合视图的滚动。为此,我使用录制按钮,但Xcode将我的收藏视图中的滑动标识为轻敲。如果我手动将生成的UI测试代码从[collectionview tap]更改为[collectionview scrollLeft],,它将起作用,但Xcode不会自动生成用于滑动的代码。Xcode 7 UI测试不记录刷卡

可能是什么问题?

+1

在Xcode 7.3.1中,我无法获得UI测试的功能,所以如果它适合您,只需要很高兴。 – matt

+0

是的,我会很高兴,但它不会! –

回答

0

我相信你应该向Apple提交一个错误,并且包含一个示例项目。

录音系统可能很难区分轻拍,长按和轻扫。虽然我已经看到轻敲事件的记录是可靠的,但我发现我手动输入了任何用于滑动或typeText的步骤。通常我使用UI测试记录功能来帮助识别特定的元素,然后使用代码来指定用户交互和断言。

如果你想在github上创建一个示例项目,或者在你的collectionView-inside-tableViewCell配置的某个地方创建一个示例项目,我愿意看看。

编辑:尝试您的示例项目后,我有时可以让Xcode记录第一个单元格中的swipeLeft和swipeRight事件。这不是最优雅的方法,但使用MacBook Air上的触控板时,我不用按鼠标按钮就可以用一根手指开始水平滑动,然后在第一根手指仍在滑动时用另一个手指按下按钮。

有些情况下,Xcode只是将其记录为一个tap,并且至少有一个实例记录了twoFingerTap。

+0

这将是伟大的,谢谢!第一个表格单元格包含集合视图,该视图具有两个单元格(红色和蓝色)。 https://github.com/balikaa16/Recall-Test –

+0

现在看它 – bneely

+0

谢谢! @bneely –

1

Xcode中只承认了个手势,轻扫如果与手势的轨迹是快速,直接和真实的(上/下/左/右)你是刷卡方向。

我的猜测是,这防止记录拖动或点击并按住手势作为滑动,因为这些记录工具不支持这些手势。如果你选择其中任何一种,轻拍手势会更接近。

作为一种解决方法,请注意您预期在哪里滑动并切换手势,就像您在未记录滑动时所做的一样。