Как стать автором
Обновить
0
0
Дмитрий Мишаров @quarckster

Quality Engineer

Отправить сообщение

Большое спасибо за статью. Я посмотрел на PR, и получается что он висел 5 лет! Сколько же крови эта библиотека выпила у людей, которые ей пользовались?

Мы пошли дальше и встроили необходимые нам атрибуты в нашу библиотеку компонентов https://www.patternfly.org/v4/developer-resources/open-ui-automation

Чтобы поменьше использовать xpath мы пришли к соглашению с разработчиками по использованию особой спецификации для атрибутов элементов в DOM https://ouia.readthedocs.io Идея в том, чтобы иметь предсказуемый селектор для любых компонентов в UI. Например, есть кнопка, которая в html выглядит так:

<button class="someClass">Some Text</button>

В соответствии с нашей спецификацией кнопка должна иметь следующий вид:

<button data-ouia-component-type="Button" data-ouia-component-id="someId" class="someClass">Some Text</button>

В итоге можно прийти к универсальному селектору:

.//*[@data-ouia-component-type=<имя компонента> and @data-ouia-component-id=<id компонентa>]

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

Для питона есть замечательная библиотека https://github.com/cgarciae/pypeln/. Она позволяет создавать пайплайны из разных типов многозадачности.

Обычный докер контейнер. Взять любой базовый образ, установить необходимые зависимости и пробросить иксы через VNC или через x11docker. Премущество перед вашим решением - это переносимость.

Почему не использовать контейнеры для этой задачи?

from console_debugger import *

Пожалуйста не делайте так. Давайте придерживаться хорошего стиля и импортировать явно то, что нам необходимо.

Мне кажется, что вы описали нечто подобное тестированию контрактов. Есть специальный софт для этого https://pactflow.io/

Не раскрыт момент использования git-crypt с CI системами. Вам всё равно придётся хранить ключ для расшифровки где-то ещё, например, в переменных окружения. Если секретов мало, то полезность git-crypt и mozilla sops стремится к нулю.

Есть. Используйте podman.
Github Actions решение намного более простое, чем Gitlab CI. В каких-то простых случаях его будет достаточно, но я бы тоже выбрал Gitlab CI.

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

Чем вызвана причина использовать Shell executor? Gitlab Runner умеет исполнять скрипты в контейнерах через docker или kubernetes executor. Так вы будете иметь чистое окружение в каждом прогоне.
Контейнеры не средство виртуализации, там нет никакого гипервизора. По сути это chroot на стероидах.
Просто не везде докер хорошо подходит, особенно когда требуется выжать из железа все соки.

Какие ещё соки? Контейнеры это просто средство изоляции, там нет никаких абстракций дополнительных от железа.
Интересно, а подошли бы контейнеры для решения вашей задачи? Я имею в виду не сборку компилятора, а сборку кода внутри контейнера, который бежит на centOS8. В этом контейнере можно установить gcc нужной версии и артефакты сборки класть куда надо.
У нас в cloud.redhat.com OpenAPI используется очень широко. Мы пишем спецификации для каждого сервиса в отдельном openapi.json. Могу сказать, что в начале, когда API небольшой, то спецификацию можно и руками писать. Однако, с ростом сервиса это делать становится всё труднее, например. Я для себя нашёл прекрасный инструмент для визуального редактирования спеки studio.apicur.io.
Наконец-то показали главное — нашу победу.
Непонятно всё-таки, что c buildah и podman не так. При сохранении того же интерфейса командной строки там решены проблемы с безопасностью.
но в конечном итоге ему приходится монтировать оверлейные файловые системы и использовать сокет UNIX

Почему использование overlayfs преподносится как недостаток?
Так и живём. Только я слышал мнение, что это нельзя назвать юнит тестированием. Хотя по мне хоть мартышкой назови, главное, чтобы работало и делало своё дело.

Информация

В рейтинге
Не участвует
Откуда
Brno, Jihomoravsky Kraj, Чехия
Зарегистрирован
Активность