home.social

#xcuitest — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #xcuitest, aggregated by home.social.

fetched live
  1. Как мы научили XCUITest тапать в контролы на глубине 136 уровней вложенности

    Привет! Меня зовут Даниил, я iOS-инженер в Циане. В этой статье расскажу, как мы заставили XCUITest работать с экраном, к которому он в принципе не мог подойти. У нас есть server-driven UI экран, наш BDUI, про движок которого была отдельная статья . Дерево вьюх у него настолько глубокое, что любое обращение теста к элементам падало. Причём двумя разными способами, и оба — не из-за кода, а из-за жёстких лимитов внутри самого фреймворка автоматизации. В итоге мы научились читать дерево произвольной глубины и тапать/вводить текст в поля, которые лежат глубже ~60 уровней AX-дерева, где публичный XCUITest бессилен. Далее я буду фокусироваться на общей технике для XCUITest, а не на внутреннем устройстве нашего движка. Так что статья пригодится, даже если у вас никакого BDUI нет, а просто есть очень глубокий экран.

    habr.com/ru/companies/cian/art

    #ios #reverseengineering #xcuitest #swift #accessibility

  2. Как мы построили систему регрессионного UI-тестирования для iOS-приложения: XCUITest, mock backend и XcodeBuildMCP

    По мере роста UI-регрессии сложнее всего становится управлять не тестами, а их окружением: состоянием приложения, ответами backend и воспроизводимостью сценариев. В статье разбираю архитектуру, которая связывает тест-кейсы QA, mock-профили, XCUITest и XcodeBuildMCP в единый процесс — от подготовки сценария до запуска в CI.

    habr.com/ru/articles/1067816/

    #iOS #Swift #XCUITest #UIтестирование #регрессионное_тестирование #автоматизация_тестирования #mock_backend #XcodeBuildMCP #ИИагенты #iOS_Simulator

  3. XCUI, Tests & Robots. Разбираем нативную автоматизацию iOS на винтики. Часть 1

    Привет, Хабр! На связи снова Максим из ATI.SU . В прошлых статьях мы разобрались, как искать логи и креш‑отчёты на iOS‑устройствах — и делали это вручную. Этот навык остаётся базовым на проекте любого размера: без него невозможно понять причину сбоя. Но есть и вторая часть работы — сами проверки, то есть прогон пользовательских сценариев. Пока приложение небольшое, их можно прокликивать руками. По мере роста количество однотипных проверок увеличивается, и повторять их вручную перед каждым релизом становится всё дороже. Возникает логичный вопрос: можно ли автоматизировать именно эту рутину — прогон сценариев, — чтобы проверки проходили без нашего участия, а нам оставалось разбираться с причинами сбоев, если такие возникнут? Здесь нам помогут нативные автотесты на XCUITest. Они позволяют системно, а не от случая к случаю, прогонять пользовательские сценарии, отслеживать падения и проверять стабильность. А когда тест краснеет, в дело снова вступают логи и креш‑отчёты — те самые, что мы научились искать в предыдущих статьях. Этой статьёй мы открываем цикл о UI‑тестировании iOS приложений. Начнём с основ: разберёмся, какое место UI‑тесты занимают в пирамиде тестирования, познакомимся с инструментами и постепенно перейдём к построению устойчивых тестов с применением проверенных паттернов. Отвёртки на изготовку!

    habr.com/ru/articles/1053724/

    #ios #swift #разработка_мобильных_приложений #xcuitest #uiтесты #ui_testing #xcode #appium #пирамида_тестирования #симулятор

  4. Also yes, I really did mean “to” the iOS simulator. The only way I’ve found to actually emulate real gesture transitions for complex behavior is scripting CGEvents in macOS to control the simulator. More gesture support than Meta’s reverse-engineered IndigoHID, more than #XCUITest. If you’ve found a better way, please let me know!

    #MultitouchPlayback

  5. I alluded to automating my screenshot creation for Octavo's website and App Store page. I finally got round to writing a blog post about how I did it!

    amyworrall.com/blog/automating

    It's a combination of #XCUITest automation, #AppleScript for setting up the Mac, and a bit of scripting to run the tests and post-process the images.

    #BuildInPublic #MacDev

  6. Also in related news: I updated my UI testing helpers library with a few macOS specific additions that I needed to test this application.

    github.com/Tunous/XCAppTest

    #Swift #XCTest #XCUITest

  7. Rafinad: сахар для UI-тестирования iOS-приложений

    Мы в hh очень любим UI-тесты, ими покрывается практически вся функциональность наших приложений, и даже backend-разработчики прогоняют тесты мобильных платформ перед развертыванием своих фич. Однако наши механизмы UI-тестирования разрабатывались более 8 лет назад и с тех пор почти не изменились. Кто-то скажет, что старые решения прошли проверку временем и что «работает — не трогай»... Возможно, и так. Но сейчас мы внедряем новую дизайн-систему, а новые компоненты требуют адаптации всех тестов — не лучшее ли время для перемен? Поэтому мы пересмотрели наши подходы к UI-тестированию и теперь готовы поделиться наработками с сообществом в виде open-source проекта — Rafinad . В этой статье расскажем, что он умеет и как им пользоваться.

    habr.com/ru/companies/hh/artic

    #ios #uiтесты #uiтестирование #тестирование #swift #swiftui #uikit #xctest #xcuitest #dsl

  8. XCUITest для начинающих: как сделать тестирование iOS красивым с Allure

    Привет! Меня зовут Антон, и я занимаюсь автоматизацией тестирования Web и Mobile приложений. Если вы начинаете автоматизировать UI-тесты под iOS, то наверняка заметили, что информации по фреймворку XCUITest в сети не так много, особенно на русском языке. Эта статья — краткое руководство по основам автоматизации на XCUITest. Здесь я постарался собрать ключевые моменты, которые помогут вам сделать первые шаги в UI тестировании iOS-приложений.

    habr.com/ru/articles/909558/

    #swift #allure #allure_2 #xcuitest #aqa #qa_automation #qa_testing #uiтесты #ui_testing #page_object

  9. 🌍 Exciting Update! Features 3 now supports Map and location services, enabling you to test geolocation changes on both real devices and iOS simulators with Sauce Labs!

    🎥 The attached video demonstrates a simulated session where you can set a default location within your app and, using or , seamlessly switch to any desired location as part of your test.

    Start testing Maps and location services today! 👉 github.com/StuMinch/Features

  10. Карантин UI-тестов в iOS

    Всем привет! Я Тимур — iOS разработчик в платформенной команде hh.ru . Сегодня я расскажу о нестабильных UI-тестах в iOS, и как мы с ними справляемся. Мы уделяем массу внимания UI-тестам, ведь именно они обеспечивают качество и стабильность в наших iOS-приложениях. Сейчас у нас включено около 600 UI-тестов: они гоняются утром, вечером и на каждом PR в develop. О том, как мы обеспечиваем качество мобильной разработки есть отдельная статья . Рано или поздно большое количество UI-тестов скорее всего начнут тормозить разработку, потому что их стабильность зависит от множества факторов: стенды (API), инфраструктура (обновление Xcode, машин, СI), кодовая база. Даже из‑за проблем в самом XCUITest тесты могут начать выдавать аномалии. Если хотите узнать про наш процесс — смело нажимайте "Читать далее".

    habr.com/ru/companies/hh/artic

    #ios #xcuitest #карантин_UI_тестов #мобильные_приложения #мобильная_разработка #тестирование_мобильных_приложений #тестирование #qa_testing

  11. For anyone interested I released version 0.3.0 of my XCUITest assertion utilities library which improves logs output. Now they should be much easier to read.

    github.com/Tunous/XCAppTest

    #XCUITest #iOSDev