тестов • 4 девайса, 3 оси, регрессионный суит за 2.5 часа • Интеграция в релизный процесс • Полный прогон каждый день • Несколько тестов на каждый PR (блокирующий билд) • 80% зеленых на iOS 11, 50% по всем осям !32
var x = x var y = y let frame = self.frame // TODO: Брать значение 1 раз за сессию (кешировать) let minX: CGFloat = 0 // С -1 работает как с 0 let minY: CGFloat = 20 // С 19 не работает вообще let maxX: CGFloat = frame.width - 1 // Без -1 делится на 2 let maxY: CGFloat = frame.height - 1 // Без -1 делится на 2 if x > maxX { x = maxX } if y > maxY { y = maxY } if x < minX { x = minX } if y < minY { y = minY } return coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0)) .withOffset(CGVector(dx: x, dy: y)) } !60
{ let stepLogBefore = StepLogBefore.other("Поиск элемента") let resolvedElementQuery = stepLogger.logStep(stepLogBefore: stepLogBefore) { () -> StepLoggerWrappedResult<ResolvedElementQuery> in let element = closure(xcuiElementQuery) elementQueryResolvingState.start() let elementExists = element.exists elementQueryResolvingState.stop() !76