相关疑难解决方法(0)

在 UI 测试中执行完全向左滑动操作?

我已经在表视图中实现了前导和尾随滑动操作。现在,我正在尝试在 XCTest UI 测试中测试它们。

\n\n

测试任一方向的常规滑动很简单:

\n\n
tableCell.swipeRight()\ntableCell.swipeLeft()\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用其中之一会导致显示第一个操作按钮,然后我可以.tap()单击该按钮。

\n\n

然而,测试完全滑动被证明更具挑战性。我已经玩过如何更快或更精确地滑动的这个扩展?

\n\n

我还玩过问题Xcode7 ui testing: staticTexts[\xe2\x80\x9cXX\xe2\x80\x9d].swipeRight() swipes not far enough 的答案

\n\n

这两个本质上都是使用XCUIElement\ 的坐标(withNormalizedOffset:)方法从一个点滑动到另一个点,类似于以下内容:

\n\n
let startPoint = tableCell.coordinate(withNormalizedOffset: CGVector.zero)\nlet finishPoint = startPoint.withOffset(CGVector(dx:xOffsetValue, dy:yOffsetValue))\nstartPoint.press(forDuration: 0, thenDragTo: finishPoint)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我最终得到了一个可以成功执行完全向右滑动的扩展- 但我似乎无法获得完全向左滑动的正确数字。

\n\n

我的代码确实执行了向左滑动,但还不够远。我已经尝试过硬编码数字dx:-300 到 300 的硬编码数字。元素宽度是 414。我相信 0 是最左边,414 是最右边,所以我开始使用该大小作为参考。仍然没有喜悦。

\n\n

我怎样才能让它执行向左完全滑动?

\n\n
extension XCUIElement\n{\n    enum SwipeDirection {\n        case left, right\n    }\n\n    func longSwipe(_ …
Run Code Online (Sandbox Code Playgroud)

ios xctest swift xcode-ui-testing

3
推荐指数
1
解决办法
2309
查看次数

标签 统计

ios ×1

swift ×1

xcode-ui-testing ×1

xctest ×1