Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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

webdriver
Теги: #<Tag:0x00007f7b64292e30>

(Tatyana Durova) #1

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

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


(rmerkushin) #2

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


(Tatyana Durova) #3

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


(heartwilltell) #4

Можете.


(Tatyana Durova) #5

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

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


(heartwilltell) #6

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 и свитчить куда транслировать наши тесты - в иксы или фреймбафер.

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


(Stan) #7

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

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

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


(Tatyana Durova) #8

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

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