Nano Hash - криптовалюты, майнинг, программирование

Отклоните учебник по клавиатуре iOS 13 при запуске на свежем симуляторе

Я использую Xcode 11 и iOS 13 как часть рабочего процесса для UITest, но когда я впервые использую клавиатуру, появляется следующее, которое прерывает тест, блокируя клавиатуру:

Код вызова в тесте пользовательского интерфейса:

app.textFields.element(boundBy: 0).tap()

Что показывает симулятор:  введите описание изображения здесь

Так как это мешает клавишам, мой тест тогда не удастся. Однако в следующий раз, когда я запущу тест на том же симуляторе, он будет работать правильно.


Ответы:


1

Ответ CodeBender хорош и ведет по правильному пути, но не компилируется, поскольку continue - зарезервированное ключевое слово в Swift. Кроме того, было бы неплохо подождать некоторое время, пока появится клавиатура.

    // Sometimes the Apple Keyboard shows some sort of "Swipe" tutorial. Dismiss it!
    private func begoneSwipeTutorial(app: XCUIApplication) {
        let continueButton = app.buttons["Continue"]
        if continueButton.waitForExistence(timeout: 2.0) {
            continueButton.tap()
        }
    }

    // Then use like this
    func inputTextWhatever(app: XCUIApplication, element: XCUIElement) {
        element.tap()
        begoneSwipeTutorial(app: app)
        // Do whatever you need to do
    }
29.05.2020
  • Это тоже отлично работает. Одно из предложений могло бы заключаться в том, чтобы сделать вашу inputTextWhatever функцию расширением XCUIApplication, просто чтобы минимизировать необходимые ей параметры. Затем вы также можете добавить к расширению функцию begone, чтобы вы могли легко повторно использовать ее в своих тестах. 29.05.2020

  • 2

    Мне удалось найти решение, которое работает как при обнаружении вышеупомянутого, так и при последующих запусках, где его нет.

    let continueButton = app.buttons["Continue"]
    if continueButton.exists {
        continueButton.tap()
    }
    

    Первая строка пытается найти кнопку с заголовком «Продолжить», а затем переходит к проверке наличия этой кнопки во второй строке. Если он существует, он будет tap(), который отклонит приглашение.

    17.12.2019
  • Хорошо, но он не компилируется, поскольку continue - зарезервированное ключевое слово. Плюс есть и другие улучшения. Я делаю новый ответ, чтобы поделиться своим опытом. 29.05.2020
  • Спасибо за уловку, я отредактировал свой исходный код и просто отбросил фразу, которая заставила его работать. С тех пор я обновился, чтобы исправить свою ошибку. 29.05.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..