hugo_themes_report/test/test_selenium.py

30 lines
1007 B
Python

from unittest import TestCase
from pathlib import Path
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
OPTIONS = Options()
OPTIONS.add_argument('--ignore-certificate-errors')
OPTIONS.add_argument('--incognito')
OPTIONS.add_argument('--headless')
SERVICE = Service('/usr/bin/chromedriver')
SOURCE_FILE = Path('hugo-themes-report/hugo-themes-report.html').resolve()
SOURCE_PAGE = f'file://{str(SOURCE_FILE)}'
class TestSelenium(TestCase):
def setUp(self):
self.driver = webdriver.Chrome(options=OPTIONS, service=SERVICE)
self.driver.set_window_size(1920, 1080)
self.driver.get(SOURCE_PAGE)
def tearDown(self):
self.driver.quit()
class TestIDsForDuplicates(TestSelenium, TestCase):
def test_for_unique_ids(self):
ids = [x.get_attribute(
'id') for x in self.driver.find_elements_by_xpath('//*[@id]')]
self.assertEqual(len(ids), len(set(ids)))