Я реализовал ведущие и следственные действия в виде стола. Теперь я пытаюсь проверить их в тестах xctest UI.tableCell.swipeRight()
tableCell.swipeLeft()
Использование одной из них приводит к отображению 1 -й кнопки действия, и я могу затем .tap () на кнопке. Я сыграл с этим расширением из «Как мне провести бы быстрее или точнее»? другому, аналогично следующему: < /p>
let startPoint = tableCell.coordinate(withNormalizedOffset: CGVector.zero)
let finishPoint = startPoint.withOffset(CGVector(dx:xOffsetValue, dy:yOffsetValue))
startPoint.press(forDuration: 0, thenDragTo: finishPoint)
Я закончил расширением, которое успешно выполняет полное смахивание вправо - но я не могу получить цифры правильно для full смачивать влево . Я попробовал жесткие числа для DX: от -300 до 300. Ширина элемента составляет 414. Я считаю, что 0 -дальний левый, и 414 будет крайне правым, поэтому я начал использовать этот размер в качестве ссылки. Тем не менее, нет радости.extension XCUIElement
{
enum SwipeDirection {
case left, right
}
func longSwipe(_ direction : SwipeDirection) {
let elementLength = self.frame.size.width
let centerPoint: CGFloat = elementLength / 2.0
let halfCenterValue: CGFloat = centerPoint / 2.0
let startOffset: CGVector
let endOffset: CGVector
switch direction {
case .right: // this one works perfectly!
startOffset = CGVector.zero
endOffset = CGVector(dx: centerPoint + halfCenterValue, dy: 0)
case .left: // "There's the rub" as Hamlet might say...
startOffset = CGVector(dx: centerPoint + halfCenterValue, dy: 0)
endOffset = CGVector.zero
}
let startPoint = self.coordinate(withNormalizedOffset: startOffset)
let finishPoint = startPoint.withOffset(endOffset)
startPoint.press(forDuration: 0, thenDragTo: finishPoint)
}
}
Подробнее здесь: https://stackoverflow.com/questions/516 ... n-ui-tests
Выполните полное удаление влево в тестах пользовательского интерфейса? ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение