conftest.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import datetime
  2. import os
  3. import pytest
  4. from .server import Server
  5. @pytest.fixture
  6. def chrome_options(chrome_options):
  7. chrome_options.add_argument('headless')
  8. chrome_options.add_argument('disable-gpu')
  9. chrome_options.add_argument('window-size=1200x600')
  10. return chrome_options
  11. @pytest.fixture
  12. def selenium(selenium):
  13. selenium.implicitly_wait(2)
  14. selenium.set_page_load_timeout(5)
  15. return selenium
  16. @pytest.fixture()
  17. def server():
  18. server = Server()
  19. yield server
  20. server.stop()
  21. @pytest.fixture
  22. def screenshot(selenium):
  23. # original taken from https://github.com/theserverlessway/pytest-chrome/blob/master/tests/conftest.py
  24. def shot(name=''):
  25. directory = 'screenshots'
  26. if not os.path.exists(directory):
  27. os.makedirs(directory)
  28. identifier = datetime.datetime.now().isoformat()
  29. if name:
  30. identifier = f'{identifier}-{name}'
  31. filename = f'{directory}/{identifier}.png'
  32. print(f'Storing Screenshot to {filename}')
  33. selenium.get_screenshot_as_file(filename)
  34. return shot