mirror of
https://github.com/netzbegruenung/green-spider.git
synced 2024-04-26 06:20:06 +02:00
Collect cookies in load_in_browser check (#74)
This commit is contained in:
parent
2945372aaf
commit
fd4a29da8e
|
@ -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)
|
||||
|
||||
|
|
46
checks/load_in_browser_test.py
Normal file
46
checks/load_in_browser_test.py
Normal 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()
|
Loading…
Reference in a new issue