使用 xvfb + PyCharm + vagrant 设置测试

Setting a test using xvfb + PyCharm + vagrant

我有这个环境:

我希望能够使用 PyCharm 进行 run/debug 测试。到目前为止我可以做到,但我最近在我的测试中添加了 selenium,现在我需要将 python 解释器包装在 xvfb-运行 远程命令中。我尝试添加一个远程外部工具,但我还不能让它工作。我找到了 this guy 但他并没有很好地解释他是如何做到的。任何想法将不胜感激:-)

感谢this answer,我在不添加外部工具的情况下解决了。步骤:

  • 已在远程 python 环境中安装 xvfbwrapper
  • 代码示例:

    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)
    
  • 您的测试配置无需更改(假设它已经 运行 成功)