如何在iOS UI测试中模拟UIPageControl的左右点击?

时间:2018-11-23 16:30:20

标签: swift xcode-ui-testing uipagecontrol

我有一个横跨屏幕整个宽度的页面控件。点击左侧时,将调用valueChanged函数,pageControl.currentPage少一。当点击右侧时,情况相反。如何在UI测试中模拟向左或向右点击?

let pc = XCUIApplication().pageIndicators["pageControl"]
pc.tap() // cannot specify left or right hand tap

1 个答案:

答案 0 :(得分:0)

您应该更改水龙头的X偏移。获得标准UIPageControl右半部分的最简单方法是获得其宽度并从中减去1。

func tapPageControl(isRightTap: Bool) {
    let pageControl = XCUIApplication().pageIndicators["pageControl"]
    let xOffset = isRightTap ? pageControl.frame.width - 1 : 0
    let coordinate = pageControl.coordinate(withNormalizedOffset: .zero).withOffset(CGVector(dx: xOffset, dy: 0))
    coordinate.tap()
}