Collect cookies in load_in_browser check (#74)

This commit is contained in:
Marian Steinbach 2018-10-04 21:21:30 +02:00 committed by GitHub
parent 2945372aaf
commit fd4a29da8e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 54 additions and 4 deletions

View file

@ -49,6 +49,7 @@ class Checker(AbstractChecker):
for url in self.config.urls:
results[url] = {
'cookies': None,
'sizes': None,
'min_document_width': None,
'logs': None,
@ -90,7 +91,13 @@ class Checker(AbstractChecker):
except TimeoutException as e:
logging.warn("TimeoutException when collecting CSS elements for %s: %s" % (url, e))
pass
# get cookies
try:
cookies = self.driver.get_cookies()
results[url]['cookies'] = cookies
except TimeoutException as e:
logging.warn("TimeoutException when collecting CSS elements for %s: %s" % (url, e))
self.driver.quit()
@ -106,9 +113,6 @@ class Checker(AbstractChecker):
self.driver.set_window_size(self.sizes[0][0], self.sizes[0][1])
self.driver.get(url)
# give the page some time to load
time.sleep(10)
for (width, height) in self.sizes:
self.driver.set_window_size(width, height)

View file

@ -0,0 +1,46 @@
import unittest
from pprint import pprint
from checks import load_in_browser
from checks.config import Config
class TestLoadInBrowser(unittest.TestCase):
def test_basics(self):
"""Loads a simple HTML web page to check basic functionality"""
url = 'https://httpbin.org/html'
config = Config(urls=[url])
checker = load_in_browser.Checker(config=config, previous_results={})
result = checker.run()
self.assertIn(url, result)
self.assertIn('cookies', result[url])
self.assertIn('font_families', result[url])
self.assertIn('logs', result[url])
self.assertIn('min_document_width', result[url])
self.assertIn('sizes', result[url])
self.assertTrue(result[url]['min_document_width'] < 360)
self.assertEqual(result[url]['cookies'], [])
self.assertEqual(result[url]['logs'], [])
self.assertEqual(result[url]['font_families'], ['"times new roman"'])
def test_cookies(self):
"""Loads a page that sets cookies"""
url = 'https://httpbin.org/cookies/set/cookiename/cookievalue'
config = Config(urls=[url])
checker = load_in_browser.Checker(config=config, previous_results={})
result = checker.run()
self.assertEqual(result[url]['cookies'], [{
'domain': 'httpbin.org',
'httpOnly': False,
'name': 'cookiename',
'path': '/',
'secure': True,
'value': 'cookievalue'
}])
if __name__ == '__main__':
unittest.main()