У меня есть приложение с виджетом, и мне нужно автоматизировать создание его скриншотов.
Однако мне сложно это сделать, так как я не могу нажать кнопку «Изменить» в представлении «Сегодня». Если виджеты не установлены, кнопка легко нажимается. Однако после сброса симулятора присутствуют виджеты (карты, напоминания, ярлыки и т. Д.), И кнопка больше не является активной. Что еще хуже, isHittable возвращает true :(
Код, который я пытаюсь запустить:
let app = XCUIApplication()
app.launch()
app.activate()
// Open Notification Center by swiping down
let bottomPoint = app.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 2))
app.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0)).press(forDuration: 0.1, thenDragTo: bottomPoint)
sleep(1)
// now swipe to reveal Today View (uses custom method)
let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
springboard.scrollViews.firstMatch.swipeRight()
sleep(1)
// To make sure Edit button is visible, swipeUP
springboard.scrollViews.firstMatch.swipeUp()
sleep(2)
// Now tap the edit button (DOESN"T WORK)
springboard.buttons["Edit"].press(forDuration: 1)
sleep(2)
Я создал простой проект для иллюстрации ошибки, которая находится здесь.
Чтобы убедиться в этом сами, откройте iPhone 11 Pro Max и добавьте следующие виджеты в представление «Сегодня»:
- Напоминания
- Календарь
- Направления на картах
- Ярлыки
- Новости
Затем попробуйте запустить testExample
тест из XCUITestCrashUITests
. Если это удастся, в конце должна щелкнуть кнопка «Редактировать», и вы должны увидеть экран «Редактировать». Однако на него никогда не нажимают :(
Если бы кто-нибудь мог помочь мне найти решение, это было бы здорово. Я уже перепробовал все, что мог придумать, но не работает ...