t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как быстро переключаться между headless и обычным режимом на виртуалке с Xvfb

Теги: #<Tag:0x00007f748a7decf8>

Есть ли какая то команда в ubuntu с помощью которой можно отключать Xvfb-режим и включать обратно “обычное” выполнение тестов?

Куда складируются скриншоты и при каких событиях с использованием Xvfb?

Xvfb вы включаете сами :smile: За вас это может делать разве что Jenkins и etc. Скриншоты складируются туда куда вы их сохраните, разницы между снятием скриншотов с xvfb и без, нет.

Xvfb включаю сама, через рецепты chef, но потом я могу отключить в уже запущенной виртуалке это?

Можете.

Здорово, можно сделать это не меняя рецепты и не далая vagrant provision? сделать vagrant ssh и далее ввести некую волшебную команду чтобы вырублить xvfb? killall xvfb не помогает, говорит “не вижу процессы с именем xvfb”

С линуксом у меня плохо, всю жизнь по мелкософтом =(

sudo /etc/init.d/xvfb start
sudo /etc/init.d/xvfb stop
может так?

Есть такая штука как DISPLAY, по дефолту все выполняется на дисплее 0, для того что бы вся наша магия работала в фреймбафере мы делаем Xvfb :1 -screen 0 1360x1024 и фреймбафер вешается на 0 дисплей.

Можно наконфижить так что бы фреймбафер висел на дисплее 1. А при запуске тестов мы просто будет указывать переменную окружения, env.DISPLAY=:0 или env.DISPLAY=:1 b и свитчить куда транслировать наши тесты - в иксы или фреймбафер.

Вроде так, но могу ошибаться, не спец в этом.

Как вариант - запускать тесты по-разному (предположим тесты запускаются как ./runtests, что может быть и мейвен и галп и любая билд-ран-и-тд система), тогда тест на обычном дисплее запускаете как:
DISPLAY=:0 ./runtests

а хэдлес как описали выше или даже проще:
xvfb-run ./runtests

Подразумевается что в обоих случаях у вас и дисплей и фреймбаф уже настроены (разрешение и тд и тп)

Спасибо, вроде получилось =)

Докер что-то жгет под виндоус, пользы не вижу, ведь это все равно виртуалка (хоть и не куча виртуалок), почитала как он работает… в итоге образы у меня так и не взлетели, на который была ссылка выше.