Большое спасибо за статью. Я посмотрел на PR, и получается что он висел 5 лет! Сколько же крови эта библиотека выпила у людей, которые ей пользовались?
Чтобы поменьше использовать xpath мы пришли к соглашению с разработчиками по использованию особой спецификации для атрибутов элементов в DOM https://ouia.readthedocs.io Идея в том, чтобы иметь предсказуемый селектор для любых компонентов в UI. Например, есть кнопка, которая в html выглядит так:
<button class="someClass">Some Text</button>
В соответствии с нашей спецификацией кнопка должна иметь следующий вид:
.//*[@data-ouia-component-type=<имя компонента> and @data-ouia-component-id=<id компонентa>]
Конечно, полностью уйти от произвольных селекторов не получится, но следуя соглашению, можно значительно упростить сопровождение тестов и повысить их стабильность.
Обычный докер контейнер. Взять любой базовый образ, установить необходимые зависимости и пробросить иксы через VNC или через x11docker. Премущество перед вашим решением - это переносимость.
Не раскрыт момент использования git-crypt с CI системами. Вам всё равно придётся хранить ключ для расшифровки где-то ещё, например, в переменных окружения. Если секретов мало, то полезность git-crypt и mozilla sops стремится к нулю.
Чем вызвана причина использовать Shell executor? Gitlab Runner умеет исполнять скрипты в контейнерах через docker или kubernetes executor. Так вы будете иметь чистое окружение в каждом прогоне.
Интересно, а подошли бы контейнеры для решения вашей задачи? Я имею в виду не сборку компилятора, а сборку кода внутри контейнера, который бежит на centOS8. В этом контейнере можно установить gcc нужной версии и артефакты сборки класть куда надо.
У нас в cloud.redhat.com OpenAPI используется очень широко. Мы пишем спецификации для каждого сервиса в отдельном openapi.json. Могу сказать, что в начале, когда API небольшой, то спецификацию можно и руками писать. Однако, с ростом сервиса это делать становится всё труднее, например. Я для себя нашёл прекрасный инструмент для визуального редактирования спеки studio.apicur.io.
Так и живём. Только я слышал мнение, что это нельзя назвать юнит тестированием. Хотя по мне хоть мартышкой назови, главное, чтобы работало и делало своё дело.
Большое спасибо за статью. Я посмотрел на PR, и получается что он висел 5 лет! Сколько же крови эта библиотека выпила у людей, которые ей пользовались?
Мы пошли дальше и встроили необходимые нам атрибуты в нашу библиотеку компонентов https://www.patternfly.org/v4/developer-resources/open-ui-automation
Чтобы поменьше использовать xpath мы пришли к соглашению с разработчиками по использованию особой спецификации для атрибутов элементов в DOM https://ouia.readthedocs.io Идея в том, чтобы иметь предсказуемый селектор для любых компонентов в UI. Например, есть кнопка, которая в html выглядит так:
В соответствии с нашей спецификацией кнопка должна иметь следующий вид:
В итоге можно прийти к универсальному селектору:
Конечно, полностью уйти от произвольных селекторов не получится, но следуя соглашению, можно значительно упростить сопровождение тестов и повысить их стабильность.
Для питона есть замечательная библиотека https://github.com/cgarciae/pypeln/. Она позволяет создавать пайплайны из разных типов многозадачности.
Обычный докер контейнер. Взять любой базовый образ, установить необходимые зависимости и пробросить иксы через VNC или через x11docker. Премущество перед вашим решением - это переносимость.
Почему не использовать контейнеры для этой задачи?
from console_debugger import *
Пожалуйста не делайте так. Давайте придерживаться хорошего стиля и импортировать явно то, что нам необходимо.
Мне кажется, что вы описали нечто подобное тестированию контрактов. Есть специальный софт для этого https://pactflow.io/
Не раскрыт момент использования git-crypt с CI системами. Вам всё равно придётся хранить ключ для расшифровки где-то ещё, например, в переменных окружения. Если секретов мало, то полезность git-crypt и mozilla sops стремится к нулю.
Не вижу преимуществ перед обычными шеллом. Выглядит как лишняя зависимость.
Какие ещё соки? Контейнеры это просто средство изоляции, там нет никаких абстракций дополнительных от железа.
Почему использование overlayfs преподносится как недостаток?