Настройка теста с использованием xvfb + PyCharm + vagrant

У меня есть эта среда:

  • PyCharm работает на Mac OS X
  • Среда Python3.4, работающая на сервере Ubuntu в бродячем экземпляре

Я хочу иметь возможность запускать / отлаживать тесты с помощью PyCharm. Пока я могу это сделать, но недавно я добавил selenium для своих тестов, теперь мне нужно обернуть интерпретатор python в удаленную команду xvfb-run . Я попытался добавить удаленный внешний инструмент, но я не могу заставить его работать. Я нашел этого парня, но он не очень хорошо объясняет, как он это сделал. Любая идея была бы очень оценена 🙂

  • Ошибка Python XVFB в окнах
  • Как посмотреть сеанс xvfb, находящийся внутри докера на удаленном сервере, из моего локального браузера?
  • Безголовый бесконечный свиток селена
  • Ошибка запуска xvfb в ubuntu 11.04
  • Firefox -> PhantomJs Вход на сайт не работает
  • One Solution collect form web for “Настройка теста с использованием xvfb + PyCharm + vagrant”

    Благодаря этому ответу я решил без добавления внешнего инструмента. шаги:

    • Установлен xvfbwrapper в удаленной среде python
    • Пример кода:

      from selenium.webdriver.firefox.webdriver import WebDriver from django.contrib.staticfiles.testing import StaticLiveServerTestCase from xvfbwrapper import Xvfb class UITestCase(StaticLiveServerTestCase): fixtures = ['data.json'] @classmethod def setUpClass(cls): cls.vdisplay = Xvfb() cls.vdisplay.start() cls.selenium = WebDriver() cls.selenium.implicitly_wait(3000) super(UITestCase, cls).setUpClass() @classmethod def tearDownClass(cls): cls.selenium.quit() cls.vdisplay.stop() super(UITestCase, cls).tearDownClass() def test_list(self): self.selenium.get('%s%s' % (self.live_server_url, '/#/app')) count = len(self.selenium.find_elements_by_xpath('//*[@id="data"]/tbody/tr')) self.assertEqual(count, 2) 
    • Никаких изменений, необходимых для вашей тестовой конфигурации (при условии, что она уже успешно завершена)
    Python - лучший язык программирования в мире.