Atlas что это за программа

Обновлено: 02.07.2024

Тестовый проект Atlas.ti

Для того, чтобы легче и быстрее ознакомиться с функционалом Atlas.ti разработчики программы предлагают использовать заранее подготовленный учебный проект программы, специально созданный для новых пользователей.

Во время инсталляции программы тестовый экспериментальный проект уже был установлен вместе с самим пакетом. Его можно обнаружить в Help Menu, а также в случае необходимости его можно самостоятельно скачать здесь

Независимо от того на чьей стороне вы стоите, согласны ли вы с позицией исследователей или нет, в любом случае статья, представленная в формате блогового обсуждения, достаточно интересна и отлично подходит для изучения в рамках реализации замера методом качественного контент-анализа в Atlas.ti. У вас будет возможность кодировать различные позиции в отношении обсуждаемого вопроса, представленные в формате постов на блоге, вы сможете использовать большинство аналитических инструментов из мощного арсенала, предлагаемого Atlas.ti.

Помимо самой статьи из журнала в тестовом проекте представлены 2 комментария блоггеров к материалу и 2 блоговых дискуссии. Тестовый проект также включает в себя небольшой видео файл, позволяющий вам понять как Atlas.ti может работать с видео файлами. Графические файлы в тестовом проекте созданы как скриншоты видео ряда.

Запуск Atlas.ti

Для того, чтобы запустить Atlas.ti нужно кликнуть по кнопке ПУСК, далее ПРОГРАММЫ, далее Scientific Software, далее Atlas.ti 7. Также программу можно запустить по двойному клику по ярлыку на рабочем столе, если вы выбрали эту опцию при установке Atlas.ti

Этот документ показывает ключевые функциональные возможности Atlas.ti. Достаточно просто взглянуть на него, и сразу станут понятны основы работы с программой.

Пользовательский интерфейс Atlas.ti

Главная панель HU редактора представлена логотипом, фоновой иллюстрацией и некоторой лицензионной информацией.

  • Ключевые документы или P-docs (Primary Documents or P-Docs)
  • Цитаты и ссылки, обращающиеся к определённым сегментам контента (Quotes or Quotations)
  • Коды (Codes)
  • Записки, комментарии (Memos)

Выгружать на каждый из листов нужный вам материал вы можете, используя выпадающее меню P-docs, находящееся на горизонтальной верхней панели слева.

Справа от рабочего листа располагается поле для размещения кодов, комментариев и т.д. Его ширину можно регулировать в случае необходимости.

Работа с панелью навигации

Откройте левую навигационную панель, нажав на знак, представленный на рисунке ниже:

7. Поддерживание информации о классификациях, связанных с приложениями

Чтобы не потерять информацию о том, какая сущность является какой, если их существует много, мы можем создать дополнительную классификацию для каждого приложения. Скрипт create_classification.sh поможет нам создать дополнительную классификацию для каждого приложения, которая может быть использована для привязки всех активов к нему.

Вызов REST endpoint:

4. Проверка интерфейса Atlas после добавления типов и классификации внешних источников, чтобы убедиться, что новые сущности были добавлены

Новые типы сгруппированы под обьектом "3party".


Также были добавлены новые классификации:


API Atlas

API-интерфейсы Atlas обернуты в набор функций Realm.


По большей части все они вызывают API Atlas следующим образом (здесь мы взяли для примера getOneCluster ):

Исходный код каждой функции размещен на GitHub.

API MiniAtlas

Следующий шаг — представление функций как конечных точек, которые может использовать клиентская часть. В качестве альтернативы мы могли бы вызывать функции с помощью Realm Web SDK, но мы решили придерживаться протокола REST; он более знаком нашим веб-разработчикам.

Используя функционал сторонних сервисов, мы разработали следующие 6 конечных точек:

Качественный контент анализ в Atlas.ti. Обзор программы. Часть первая


Итак, что же такое Atlas.ti, и чем он нам может помочь в проведении контент-анализа?

Общие положения обзора Atlas.ti

Ваш проект базируется на работе с большими массивами самых разношёрстных документов, заметок, мультимедийных файлов, изучении и сравнении таких материалов в рамках уникальных, нестандартных областей исследований?

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

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

Общие термины и концепции

Файл HU сохраняет в себе все пути к исходным файлам проекта, сохраняет исходные коды, их категории, веб сессии и т.д., которые затрагивались и использовались в вашей работе над проектом. В отличие от шестой версии Atlas.ti вам уже не надо заботиться о сохранности файлов и управлении ими. В 7-й версии программа сама берёт на себя эти функции. Тем не менее эта функция сохранена в седьмой версии программы и рекомендована для использования при работе с внешними видео файлами большого объёма.

Исходный массив файлов может включать текстовые документы (интервью, статьи, отчёты), аудио записи (интервью, музыку, записи трансляций по радио и т.д.), видео клипы (аудио-видео материалы), файлы в формате PDF (газеты, брошюры, доклады, протоколы), географические файлы (данные Google Earth).

Подключение

Для автоматизации UI web достаточно прописать зависимость atlas-webdriver и указать последнюю актуальную версию (на момент написания этого текста актуальна версия 1.6.0).


Аналогичным образом поступаем, если требуется автоматизировать UI Mobile.

Использование

После подключения зависимости в свой проект необходимо инициализировать инстанс класса Atlas.


В конструктор Atlas передаем инстанс конфигураци, а также драйвер.

На текущий момент есть две конфигурации: WebDriverConfiguration и AppiumDriverConfiguration. Каждая конфигурация содержит определенные расширения по умолчанию.

Далее определим метод, который будет создавать все PageObject.

Пример простенького тестового сценария:


Открываем сайт, обращаемся к слою header, в нём ищем текстовое поле (search input), вводим текст и нажимаем ввод.

SDX (Shared Data Experience)

Apache Atlas как фундаментальная часть SDX в CDP обеспечивает согласованную защиту данных и управление ими во всем спектре аналитических инструментов, развернутых в гибридной архитектуре, благодаря технологии Shared Data Experience (SDX). Как и сама CDP, SDX построена на проектах с открытым исходным кодом, где Apache Ranger и Apache Atlas играют главные роли. Atlas предоставляет возможности управления метаданными и создания единого дата каталога, а также классификации и управления этими активами данных. SDX в CDP использует все возможности Atlas для автоматического отслеживания и управления всеми активами данных со всех инструментов на платформе.

3. Добавление typedef'ов через REST API в Атлас

Для повышения надежности CDP все хуки Atlas используют Apache Kafka в качестве асинхронного транспортного уровня. Тем не менее, Atlas также предоставляет свой собственный богатый набор RESTful API. На этом шаге мы используем именно те конечные точки REST API v2 - документацию по полной конечной точке REST API можно найти здесь, а для вызова REST API будет использоваться curl.

Примечание: При желании вы можете использовать локальную установку на базе докера для первых шагов:

Typedef JSON запрос хранится в файле 1_typedef-server.json, и мы вызываем конечную точку REST следующей командой:

Для создания всех требуемых typedef'ов для всего конвейера данных можно также использовать следующий bash скрипт (create_typedef.sh):

5. Создание сущности "server"

Чтобы создать субъект, используйте REST API "/api/atlas/v2/entity/bulk" и обратитесь к соответствующей типизации (например, "typeName": "server").

Полезно знать: Create vs Modify. Каждый типдеф определяет, какие поля должны быть уникальными. Если вы отправите запрос, в котором эти значения не являются уникальными, существующий экземпляр (с одинаковыми значениями) будет обновлен, а не вставлен.

Следующая команда показывает, как создать субъект сервера:

Atlas как сервис

Приглашаем также всех желающих на двухдневный интенсив «MongoDB Map-Reduce Framework».
— Темы 1 дня: CRUD-операции; фильтрация по полям; sort , skip , limit ; запросы по поддокументам.
— Темы 2 дня: концепция map-reduce; концепция pipeline ; структура и синтаксис агрегации; стадия $match ; стадия $group ; стадия $lookup .


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

В Atlas есть очень мощный уровень управления для предоставления кластеров. Однако в крупных организациях, где работают тысячи разработчиков, не всегда целесообразно предоставлять такому количеству людей прямой доступ к этому интерфейсу. Цель этой статьи — показать, как можно использовать API-интерфейсы Atlas для предоставления доступа к MongoDB как к сервису, когда MongoDB работает под управлением Atlas.

В частности, мы продемонстрируем способ создания интерфейса, предлагающего разработчикам набор вариантов для создания экземпляра базы данных MongoDB. Чтобы упростить себе задачу, рассмотрим, как предоставить разработчикам набор вариантов памяти и хранилища для настройки кластера. Прочие параметры, например выбор провайдера облачных услуг и региона, мы рассматривать не будем. Мы также расскажем о том, как добавлять метки к кластерам Atlas, так как эта функция не поддерживается в пользовательском интерфейсе Atlas. Для примера мы добавили метку для описания кластера.


Архитектура

Хотя API-интерфейсы Atlas можно вызывать непосредственно из клиентского интерфейса, мы решили использовать трехуровневую архитектуру. Ее преимущества заключаются в следующем:

возможность ограничивать доступную функциональность по мере необходимости;

возможность упростить API-интерфейсы, доступные разработчикам клиентских частей приложений;

возможность тонкой настройки защиты конечных точек API.

Мы могли бы воспользоваться другими функциями серверной части, например триггерами, интеграцией с Twilio и т. д.

Конечно же, для размещения среднего уровня мы выбрали Realm.


Реализация

Серверная часть


9. Собераем все вместе

Теперь у нас собраны все кусочки головоломки. Скрипт sample_e2e.sh показывает, как собрать их вместе, чтобы создать сквозную линию данных. Пайплайн также может содержать активы, которые уже были CDP, нужно просто установить между ними связь (как показано выше).

Создайте уникальную классификацию для данного приложения

Создайте необходимые сущности серверов

Создайте необходимые сущности датасетов на ранее созданных серверах (Mainframe, Landing zone).

Создайте необходимые сущности таблиц БД на ранее созданном сервере БД

Создайте процесс с типом 'transfer' между набором данных Mainframe > Landing

Создайте процесс с типом 'etl_load' между Landing zone > DB table

Создайте процесс с типом 'etl_load' между Landing zone > таблицей HIVE

Создайте процесс с типом 'etl_load' между Landing zone > набором данных Error

Сценарий, описанный выше, то и дело встречается практически во всех компаниях в такой или похожей форме. Atlas - это очень гибкий каталог метаданных, который может быть адаптирован для всех видов активов. При интеграции активов третьих источников он обеспечивает истинную добавленную стоимость за счет более полной иллюстрации существующих потоков данных. Связи между всеми активами имеют решающее значение для оценки последствий изменений или просто для понимания происходящего. Я рекомендую придерживаться подхода "начни с малого" и записывать первоисточник каждого набора данных по мере его подключения к CDP или во время технического обслуживания. Используйте возможности того, что уже есть, и со временем дополните картину.

Элементы


В поставке инструмента идут два специализированных класса для работы с UI-элементами (аналог класса WebElement).


AtlasWebElement и AtlasMobileElement дополнены методами should и waitUntil. (рассмотрение данных методов будет далее в статье).

Инструмент предоставляет возможность создания своих компонентов с помощью расширения вышеуказанных классов, что позволяет создать кроссплатформенный элемент.

8. Построение отношения между активами

Для активов конвейера данных, которые мы спроектировали и создали выше, нам нужны два разных типа для процессов, которые их соединяют:

Итоги

В заключение хочу отметить, что Atlas — это гибкий инструмент с большими возможностями. Его можно настроить под конкретный тестовый проект так, как удобно вашей команде и вам. Заняться разработкой кроссплатформенных тестов и т.д.

Доступны видеозаписи докладов о нём с конференций Heisenbug, Selenium Camp и Nexign QA Meetup. Есть Telegram-чат @atlashelp.

С помощью данного инструмента вы сможете сократить значительное количество строк кода (проверено на проектах таких компаний, как Яндекс, СберТех и Тинькофф).

Революция или эволюция Page Object Model?

Всем привет! Меня зовут Артём Соковец. Хочу поделиться переводом своей статьи об Atlas: реинкарнации фреймворка HTML Elements, где представлен совершенно иной подход работы с Page Object.

Перед тем, как перейти к деталям, хочу спросить: сколько обёрток для Page Object вы знаете? Page Element, ScreenPlay, Loadable Component, Chain of invocations…

А что будет, если взять Page Object с реализацией на интерфейсе, прикрутить Proxy Pattern и добавить немного функциональности Java 8?

Если интересно, предлагаю перейти под кат.




Основные возможности

Рассмотрим подробнее функциональность инструмента:


Интерфейсы вместо классов

При описании стандартных PageObject используются интерфейсы вместо классов.


В данном примере описывается ссылка на стартовой странице GitHub.

Параметризация элементов

Представим, что у нас есть форма с полями:


Чтобы её описать, требуется создать 11 переменных с аннотацией @FindBy и, при необходимости, объявить getter.

Используя Atlas, потребуется лишь один параметризованный элемент AtlasWebElement.


Код автоматизированного теста выглядит следующим образом:


Обращаемся к нужной странице, вызываем метод с параметром и выполняем требуемые действия с элементом. Метод с параметром описывает конкретное поле.

Множественное наследование

Ранее упоминалось, что блок (например, Header), который используется в разных Page Object — это дублирование кода.

Есть header GitHub.


Опишем данный блок (большинство веб-элементов опущено):


Далее создадим слой, который можно подключить к любой странице:


Расширяем главную страницу блоком header.


В целом можно создать больше слоёв и подключить их к нужной странице. В примере ниже подключаем с главной странице слои header, footer, sidebar.


Пойдём дальше. Header содержит 4 кнопки, 3 выпадающих меню и одно поле поиска:


Создадим собственный элемент Button, и одним элементом опишем четыре кнопки.


Подключим кнопку button к слою header. Таким образом расширим функциональность шапки GitHub.


Отдельный элемент Button можно подключать к различным слоям веб-сайта и быстро получить на нужной странице требуемый элемент.


Во второй строке теста происходит обращение к шапке сайта, далее вызываем параметризированную кнопку со значением «Pricing» и выполняем клик.

На тестируемом сайте может быть довольно много элементов, которые повторяются от страницы к странице. Чтобы не описывать их все с помощью стандартного подхода Page Object, можно описать их один раз и подключать там, где требуется. Экономия времени и количества строк кода налицо.


Методы по умолчанию

В Java 8 появились методы по умолчанию, которые используются, чтобы заранее определить нужную функциональность.

Допустим, у нас есть «вредный» элемент: например, чекбокс, который то включен, то выключен. Через него проходит много сценариев. Требуется включать чекбокс, если он выключен:


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


Теперь шаг в тесте будет выглядеть так:


Другой пример, в котором требуется совместить очистку и ввод символов в поле.


Определим метод, который очищает поле и возвращает сам элемент:


В тестовом методе шаг выглядит следующим образом:


Таким образом можно запрограммировать требуемое поведение в элементе.

Повторные попытки (Retry)

В Atlas есть встроенные повторные попытки. Вам не нужно заботиться о таких исключениях, как NotFoundException, StaleElementReferenceException и WebDriverException, а также можно забыть о применении явных и неявных ожиданий Selenium API.


Если на каком-то этапе цепочки вы поймали исключение, фаза повторяется с начала.

Есть возможность самостоятельно настраивать интервал времени, в течение которого можно выполнять повторение, или частоту повторения.


Ожидаем в течение трёх секунд c частотой опроса раз в секунду.

Также можем настроить ожидание для конкретного элемента с помощью аннотации Retry. Для всех элементов поиск будет происходить в течение 3 секунд, а в случае с одним составит 20.


Работа со списками

Из коробки инструмент предоставляет работу со списками. Что это значит? Есть поле с тегом input, куда вводим текст, далее появляется выпадающий список, элементы появляются не сразу.


Для таких случаев есть сущность ElementsCollection. С её помощью происходит работа со списками.


Также есть возможность фильтровать элементы и конвертировать их в список другого вида.

Smart Assertions

Как ранее упоминалось, в сущностях AtlasWebElement и AtlasMobileElement используются методы should, waitUntil для работы с проверками (утверждениями).

Метод Описание
should(…) Выполняет различные утверждения (проверки) с элементом. Бросает AssertionError
waitUntil(…) Выполняет различные утверждения (проверки) с элементом. Бросает RuntimeException

Для чего это сделано? Чтобы сэкономить время при разборе отчётов прогона автоматизированных сценариев. Большинство функциональных проверок выполняются в конце сценария: они интересны специалисту функционального тестирования, а промежуточные проверки – специалисту автоматизированного тестирования. Следовательно, если функциональность продукта не работает, логично бросать исключение AssertationError, в ином случае — RuntimeException.



В Allure сразу будет видно, с чем мы имеем дело: либо у нас дефект продукта (в работу берёт специалист ФТ), либо сломался автотест (разбирается специалист АТ).

Модель расширений


У пользователя есть возможность переопределить базовый функционал инструмента либо внедрить свой функционал. Модель расширения Atlas похожа на модель расширения JUnit 5. Модули atlas-webdriver и atlas-appium построены на расширениях. Если вам интересно, посмотрите исходный код.

Разберём абстрактный пример: требуется разработать UI-автотесты для браузера Internet Explorer 11 (кое-где он ещё используется). Бывают моменты, когда стандартный клик по элементам не отрабатывает, тогда можно воспользоваться JS-кликом. Вы решаете на время переопределить клик на всём тестовом проекте.


Как это сделать?

Создаём расширение, которое реализует интерфейс MethodExtension.


Переопределяем два метода. В методе test() задаём, что переопределяем метод click. Метод invoke реализует требуемую логику. Теперь клик по элементу будет происходить через JavaScript.

Подключаем расширение следующим образом:


С помощью расширений возможно создать поиск локаторов для элементов в БД и реализовать другие интересные возможности — всё зависит от вашей фантазии и потребностей.

Единая точка входа к PageObject'ам (WebSite)

Инструмент позволяет хранить все ваши Pages в одном месте и в дальнейшем работать только через сущность Site.


Дополнительно Page'ам возможно задавать быстрый url, query-параметры и path-сегменты.


Работа с мобильным элементом

Работа с мобильным элементом (AtlasMobileElement) происходит аналогично работе с веб-элементом AtlasWebElement. Дополнительно в AtlasMobileElement добавлены три метода: скролл экрана вверх/вниз (scrollUp/scrollDown) и клик на элемент с удержанием (longPress).

Приведу пример главного экрана приложения Wikipedia. Один элемент описывается как для платформы iOS, так и для Android. Также описывают параметризованную кнопку.


Тесты выглядят аналогичным образом:


В примере выше мы открываем главную страницу Wikipedia, щёлкаем по поисковой строке, вводим текст Atlas, далее прокручиваем до элемента списка со значением Atlas LV-3B и переходим в его представление. Последняя строчка проверяет, что заголовок отображается и содержит требуемое значение.

Логирование событий возможно реализовать с помощью специального листенера (интерфейс Listener). Каждый метод при вызове имеет четыре события: Before, Pass, Fail. After.


Используя данный интерфейс, можно организовать отчётность. Ниже представлен пример Allure Listener, который можно найти по ссылке.


Далее подключаем слушатель при инициализации класса Atlas.

Вышеуказанным способом возможно создать listener для различных систем репортинга (например, для ReportPortal).

6. Создание сущности типа "datafile"

Аналогично созданию субъекта сервера, снова используйте REST API "/api/atlas/v2/entity/bulk" и обратитесь к типу "dataset".

Скрипт create_entities_file.sh из репозитория github показывает, как создать сущность dataset и вернуть GUID для каждого файла.

Архитектура фреймворка

На текущий момент Atlas состоит из трёх модулей:

  • atlas-core
  • atlas-webdriver
  • atlas-appium


Два других модуля atlas-webdriver и atlas-appium используются для разработки автоматизированных скриптов UI web и UI mobile. Основной точкой входа для описания web-страниц является интерфейс WebPage, а для мобильных экранов — Screen. Концептуально atlas-webdriver и atlas-appium построены на расширениях (пакет *.extension).

2. Определение требуемых определений типов (typedef's).

С точки зрения дизайна, typedef аналогичен определению класса. Существуют предопределенные определения типов (typedefs) для всех активов, которые используются в CDP, например, таблицы Hive. Определения, которые не существуют из коробки, могут быть определены с помощью следующего синтаксиса в простом JSON-файле. В примере 1_typedef-server.json описывается сервер typedef, используемый в этом блоге.

Тип: сервер
Производная форма: ENTITY
Специальные характеристики для этого typedefа:
- имя хоста (host_name)
- ip_адрес (ip_address)
- зона (zone)
- платформа (platform)
- стойка (rack_id)


Data governance: добавление сторонних метаданных в Apache Atlas



Введение

При использовании стандартного шаблона проектирования PageObject возникает ряд проблем:

Дублирование элементов


Здесь блок Header используется в различных классах PageObject.

Отсутствие параметризации у элементов


В этом примере описываются элементы страницы редактирования настроек пользователя. Два элемента TextBlock содержат практически идентичный локатор с разницей только в текстовом значении («Text_1» и «Text_2»).

Однотипный код


В повседневной работе можно встретить Page Object, состоящие из множества строк кода с однотипными элементами. В дальнейшем такие классы «неудобно» поддерживать.

Большой класс с шагами (steps)


Со временем разрастается класс шагов для работы с элементами. Требуется более пристальное внимание, чтобы не было дубликатов методов.

Использование возможностей Atlas для активов данных за пределами CDP

Atlas предоставляет базовый набор предопределенных определений типов (называемых typedefs) для различных Hadoop и non-Hadoop метаданных для удовлетворения всех потребностей CDP. Но Atlas - это невероятно гибкий и настраиваемый фреймворк для метаданных, который позволяет добавлять активы из сторонних источников данных, даже те, которые находятся за пределами CDP.

Все построено вокруг основной структуры модели метаданных, состоящей из определений типов (type definitions) и объектов (entities) (подробнее см. документацию Atlas):

Определения каждого типа (typedef)

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

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

может иметь неограниченное количество характеристик (атрибутов) для сохранения всех нужных описаний

может определить допустимый набор классификационных определений, которые впоследствии могут быть добавлены к каждой сущности данного typedef. В следующем примере мы используем определенный сервер для типа 'database_server'. Классификации могут также использоваться для указания, содержит ли таблица Персональную идентифицируемую информацию (PII).

Объекты являются примерами определенного typedef и:

могут быть связаны друг с другом

могут быть связаны с любым количеством классификаций. Например, каждому приложению или случаю использования может быть присвоена уникальная классификация; в примере ниже используется "xyz" в качестве приложения. После добавления, связанные объекты могут быть непосредственно привязаны к классификации, что дает четкое представление об артефактах и о том, как они соотносятся друг с другом.

Наконец, Atlas предоставляет богатый набор REST API, которые могут использоваться для:

управления основными typedef и классификациями

управления объектами (сущности typedef )

управления отношениями между объектами

Расширение модели метаданных в Атласе

Следующие шаги описывают, как Atlas может быть расширен для добавления метаданных из третьих источников. На различных этапах используются готовые скрипты из репозитория Github.

Эскиз сквозной линии передачи данных.

Ниже приведен очень простой, но распространенный сценарий ETL пайплайна:
Исходная система (например, транзакционное приложение для банковского приложения) отправляет файл с данными в CSV на какое-то хранилище (не HDFS). Затем ETL-процесс считывает файл, выполняет некоторые проверки качества и загружает проверенные записи в СУБД, а также в таблицу Hive. Проблемные записи сохраняются в отдельном файле ошибок.


Чтобы запечатлеть этот сквозной поток данных в Атласе, нам нужны следующие typedef'ы:

Активы (typedef):
- Файлы
- Таблица в СУБД
- таблица Hive *обратите внимание, что этот актив уже доступен в Атласе в CDP в качестве неотъемлемой части платформы CDP. Нет необходимости создавать typedef, но мы покажем, как сторонние активы могут подключаться к активам CDP для построения сквозного прослеживания.

Процессы:
- Процесс передачи файлов
- процесс загрузки ETL/DB

Ваш путеводитель в мире Page Object

Реинкарнация фреймворка HTML Elements направлена на решение вышеописанных проблем, уменьшение количество строк кода тестового проекта, более продуманную работу со списками и ожиданиями, а также тонкую настройку инструмента под себя благодаря системе расширений.

Atlas — Java-фреймворк нового поколения для разработки UI-автотестов с реализацией паттерна Page Object через интерфейсы. Данный подход предоставляет возможность множественного наследования при построении дерева элементов, что в итоге обеспечивает лаконичный код ваших автотестов.

Основным нововведением фреймворка является использование интерфейсов вместо стандартных классов.


В приведённом коде описывается главная страница сайта GitHub с одним элементом и множественным наследованием от слоёв WebPage и WithHeader (пример дан исключительно для учебных целей, поэтому большинство веб-элементов опущено).

Читайте также: