Skip to content

Releases: IBSCorp/Chameleon

Chameleon-3.6.0

02 Oct 18:04
Compare
Choose a tag to compare
  • Обновлена версия библиотеки webdrivermanager до 5.4.1
  • Добавлен модуль chameleon-parallel-cucumber для поддержки параллельного выполнения тестов cucumber
  • В WebDriverFacade метод quit() закрывает WebDriver только для текущего потока. Добавлен новый метод quitAll(), который закрывает все драйверы, созданные для разных потоков. Его следует вызывать как destroy-method.
  • Добавлен интерфейс IDriverFacade, все взаимодействие с WebDriverFacade теперь рекомендуется выполнять через этот интерфейс
  • Добавлена возможность получения всех элементов страницы с учетом вложенности блоков, IPageObject.getSeleniumField() и IPageObject.getCollection()
  • Исправлено: при падении на не UI шагах, где браузер еще не запущен, происходит его запуск и создание скриншота с пустой страницы
  • Добавлена возможность переопределения кода, написанного в стандартный хуках фреймворка: интерфейсы IAssertsLifecycle и IStorageLifecycle
  • Исправлено: при использовании soft assertов не снимались скриншоты, если ошибки происходят чаще, чем раз в секунду
  • Добавлен вариант снятия скриншотов для избежания дублирования, если UI не менялся
  • Добавлены шаги ~SoftAssert "Прервать, если были ошибки" и ~SoftAssert "Выключить и прервать, если были ошибки", которые служат для управления прерыванием теста, если в блоке soft assert произошли ошибки. Без использования этих шагов выполнение теста происходит до конца или до появления первой ошибки, не включенной в блок soft assert.
  • Добавлена обработка исключительных ситуаций при ожидании элементов коллекции
  • Переработан механизм ожиданий элементов, добавлен служебный класс Waiting, поддерживающий различные сценарии ожидания
  • Доработан механизм генерации фабрик локаторов Selenium и работа с декораторами web-элементов

Chameleon-3.5.0

29 Jun 15:09
0fe97c0
Compare
Choose a tag to compare
  • Изменено название фреймворка QualIT -> Chameleon
  • Пакеты переименованы ru.ibsqa.qualit -> ru.ibsqa.chameleon
  • Неймспейсы в XSD переименованы http://qualit.ibs-qa.ru/ -> http://chameleon.ibs-qa.ru/
  • Переименованы классы:
  • QualITSpringExtension -> ChameleonSpringExtension
  • QualITFactory -> ChameleonFactory
  • Переработан механизм автокомплита, предлагающего имена компонентов при редактировании BDD-сценария и перетаскивании шагов из плагина в сценарий
  • Добавлен автокомплит компонентов в проекты DB и REST-API
  • Обновление Appium до 8.2.1

QualIT-3.4.1

29 May 15:21
Compare
Choose a tag to compare
  • Исправлена проблема с дублированием отчетов в случае запуска тестов через maven:
    • Необходимо наличие опции junit.platform.execution.listeners.deactivate=io.qameta.allure.junitplatform.AllureJunitPlatform в файле junit-platform.properties
    • Если на проекте подключен BDD фреймворк Cucumber, то также необходимо наличие файла cucumber.properties в ресурсных файлах проекта

QualIT-3.4.0

05 May 10:31
Compare
Choose a tag to compare
  • Изменен подход для операций сравнения и добавлена возможность создания кастомных операций сравнения Операции сравнения
  • Добавлена поддержка Java17
  • Добавлены контексты и автокомплит для шагов с базами данных
  • Сокращен вывод избыточной информации в лог при возникновении типовых ошибок
  • Исправлена ошибка, при которой не создавался отчет после JUnit тестов
  • Убран вывод в отчет информации о шагах при ожиданиях
  • Добавлено логирование коллекций в режиме Debug
  • Добавлен класс DelayUtils для шагов с ожиданием
  • В плагин добавлена возможность запускать тесты из вкладки 'Тесты'
  • В плагин добавлена возможность запускать тесты из вкладки 'Тэги' по выбранным тэгам
  • В плагин добавлена кнопка 'Показать команду запуска тестов для Maven'
  • В плагине исправлены ошибки при переносе шагов без аннотации @StepDescription из вкладки 'Действия' в сценарий
  • Для плагина добавлена поддержка версий IntelliJ IDEA до 2023.1.1 включительно
  • Дополнены примеры

QualIT-3.3.1

14 Mar 13:20
Compare
Choose a tag to compare

Исправлена ошибка для браузера Google Chrome 111

QualIT-3.3.0

30 Jan 17:15
ceb878e
Compare
Choose a tag to compare
  • Обновление Spring Framework до версии 5.3.24
  • Обновление Cucumber до версии 7.9.0
  • Обновление Selenium до версии 4.6.0 (изменения в конструкторах драйверов - DesiredCapabilities больше не поддерживаются)
  • В конфигурации драйверов методы set/getDesiredCapabilities заменены на set/getOptions
  • Обновление Appium до версии 8.2.0
  • Обновление webdrivermanager до версии 5.3.1
  • бновление webdrivermanager до версии 5.3.1
  • Актуализированы проектные тесты
  • Убрана поддержка браузера OPERA
  • Добавлена поддержка свободных конфигураций web-драйверов
  • Добавлен функционал Soft Assert
  • Добавлена аннотация @HiddenStep
  • Добавлены шаги для работы с alert-ами - AlertSteps
  • IFacadeSelenium в методе isFieldExists() теперь не анализируется отсутствие поля на странице, при отсутствии поля будет ошибка, для проверки отсутствия поля используйте метод isAbsent()
  • ElementLocatorImpl:
  • в методе findElements() таймаут теперь не применяется, при поиске отдельного элемента findElement() таймаут продолжает применяться
  • В WaitingUtils добавлен вариант ожидания в произвольных единицах времени
  • Во все классы шагов (наследующие AbstractSteps) добавлен служебный метод waiting(...), помогающий реализовать ожидание состояния; методы, реаилизующие интернационализацию сделаны статическими, при ожидании действие выполняется как минимум 1 раз
  • в классах ElementProxyHandler и ElementBlockProxyHandler:
    • общий функционал вынесен в AbstractElementHandler
    • учитывается ожидание по умолчанию, если у элемента не указано конкретное время
    • для полей коллекции не производится ожидание пропадания исключения StaleElementReferenceException (ожидание выполняется в слое шагов)
    • добавлен InvokeFieldException для проброса ошибок работы с элементами (например StaleElementReferenceException) в модули core, абстрагированные от конкретной имплементации полей
    • исправлена проблема при выполнении ожидания пропадания исключения StaleElementReferenceException
    • задержка между циклами сокращена 500 -> 200 мс
    • WebElementFacade:
    • метод isDisplayed() теперь не выполняет ожидание и возвращает моментальное значение видимости поля
    • новый метод waitToDisplayed() выполняет ожидание и теперь именно он используется при анализе загрузки страницы
    • добавлен метод isAbsent(), он возвращает признак отсутствия поля на странице не выполняя ожидание и без учета невидимости поля
    • добавлены индикативные интерфейсы фасадов - IFacadeWait и IFacadeAbsent
  • CoreFieldSteps, добавлено ожидание состояния в рамках таймаута элемента в следующих шагах (новое поведение применяется не для всех полей, а только в том случае, если поле поддерживает таймаут):
    • checkFieldValue
    • checkFieldExists
    • checkFieldNotExists
  • SeleniumFieldSteps, добавлено ожидание состояния в рамках таймаута элемента в следующих шагах:
    • fieldIsDisplayed, данный метод работает аналогично checkFieldExists
    • fieldIsNotExist переименовано в fieldIsNotDisplayed, данный метод работает аналогично checkFieldNotExists
    • fieldIsEnabled
    • fieldIsDisabled
    • checkFieldPlaceholder
    • fieldIsEditable
    • fieldIsNotEditable
    • checkFieldError
    • checkFieldAttribute
  • CollectionSteps, добавлено ожидание состояния в рамках таймаута в следующих шагах:
    • stepCheckItemCount
    • searchItemByIndex
    • searchItem
    • checkSorted