2016-01-13 92 views
2

我在我的應用程序中有以下手勢識別器。我查看了xCode7 UI,看到它已經向上/向下/向左/向右滑動,但沒有平移或邊緣平移手勢。XCode7 UITests如何測試屏幕邊緣平移手勢?

如何爲UITesting目的測試或啓動屏幕邊緣平移手勢?

UIScreenEdgePanGestureRecognizer *leftEdgeGesture = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(show)]; 
    leftEdgeGesture.edges = UIRectEdgeLeft; 
    leftEdgeGesture.delegate = self; 
    [self.view addGestureRecognizer:leftEdgeGesture]; 

回答

7

我花了一段時間試圖弄清楚這一點,在元素層次結構中進行導航。很多很多的谷歌搜索和沒有找到。

我放棄了兩次,然後想通了。

我們只需要在主應用程序屏幕上顯示兩個座標,然後將一個座標拖到另一個座標上。

作品一種享受!

XCUIApplication *app = [[XCUIApplication alloc] init]; 
[app launch]; 

// Set a coordinate near the left-edge, we have to use normalized coords 
// so you set using percentages, 1% in on the left, 15% down from the top 
XCUICoordinate *coord1 = [app coordinateWithNormalizedOffset:CGVectorMake(0.01, 0.15)]; 

// Then second coordinate 40 points to the right 
XCUICoordinate *coord2 = [coord1 coordinateWithOffset:CGVectorMake(40, 0)]; 

// Perform a drag from coord1 to coord2 
// Simulating swipe in from left edge 
[coord1 pressForDuration:0.5f thenDragToCoordinate:coord2]; 

希望這會幫助所有其他人一直在努力模擬邊緣滑動。

+0

謝謝!另外我注意到,從iPad的屏幕高度的一半拖動會導致iOS啓動多窗口狀態 - 必須從高度的20%左右拖動。 很遺憾,沒有邊框滑動的框架方法。 – Julia

相關問題