e2e: save screenshot on failure, upload to github actions
This commit is contained in:
		
							
								
								
									
										4
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -139,6 +139,10 @@ jobs: | |||||||
|           yarn |           yarn | ||||||
|       - name: Run coverage |       - name: Run coverage | ||||||
|         run: pipenv run coverage run ./manage.py test --failfast |         run: pipenv run coverage run ./manage.py test --failfast | ||||||
|  |       - uses: actions/upload-artifact@v2 | ||||||
|  |         if: failure() | ||||||
|  |         with: | ||||||
|  |           path: out/ | ||||||
|       - name: Create XML Report |       - name: Create XML Report | ||||||
|         run: pipenv run coverage xml |         run: pipenv run coverage xml | ||||||
|       - uses: codecov/codecov-action@v1 |       - uses: codecov/codecov-action@v1 | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| """passbook e2e testing utilities""" | """passbook e2e testing utilities""" | ||||||
| from functools import lru_cache | from functools import lru_cache | ||||||
|  | from os import makedirs | ||||||
| from glob import glob | from glob import glob | ||||||
| from importlib.util import module_from_spec, spec_from_file_location | from importlib.util import module_from_spec, spec_from_file_location | ||||||
| from inspect import getmembers, isfunction | from inspect import getmembers, isfunction | ||||||
| @ -40,6 +41,7 @@ class SeleniumTestCase(StaticLiveServerTestCase): | |||||||
|  |  | ||||||
|     def setUp(self): |     def setUp(self): | ||||||
|         super().setUp() |         super().setUp() | ||||||
|  |         makedirs("out", exist_ok=True) | ||||||
|         self.driver = self._get_driver() |         self.driver = self._get_driver() | ||||||
|         self.driver.maximize_window() |         self.driver.maximize_window() | ||||||
|         self.driver.implicitly_wait(5) |         self.driver.implicitly_wait(5) | ||||||
| @ -53,6 +55,8 @@ class SeleniumTestCase(StaticLiveServerTestCase): | |||||||
|         ) |         ) | ||||||
|  |  | ||||||
|     def tearDown(self): |     def tearDown(self): | ||||||
|  |         if self.failureException: | ||||||
|  |             self.driver.save_screenshot("out/{self.__class__.__name__}.png") | ||||||
|         self.driver.quit() |         self.driver.quit() | ||||||
|         super().tearDown() |         super().tearDown() | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer