mirror of
https://github.com/TrentSPalmer/hugo_themes_report.git
synced 2025-04-07 07:37:05 -07:00
72 lines
2.2 KiB
Python
72 lines
2.2 KiB
Python
import re
|
|
from secrets import choice
|
|
from test.test_description import TestDescription
|
|
from unittest import TestCase
|
|
|
|
from selenium.webdriver.common.by import By
|
|
|
|
|
|
class TestDescriptionPerFeatures(TestDescription, TestCase):
|
|
def setUp(self):
|
|
super(TestDescriptionPerFeatures, self).setUp()
|
|
self.driver.find_element(By.ID, 'button-for-filter-by-features').click()
|
|
self.match = re.compile(r'^(.*)(\s\(\d*\))$')
|
|
|
|
def test_description_per_features(self):
|
|
featureSelectionRow = self.driver.find_element(
|
|
By.ID, 'featureSelectionRow')
|
|
|
|
inputs = [
|
|
x.get_attribute(
|
|
'id'
|
|
) for x in featureSelectionRow.find_elements(
|
|
By.TAG_NAME, 'input'
|
|
)
|
|
]
|
|
|
|
for x in inputs:
|
|
button = self.driver.find_element(
|
|
By.ID, x).find_element(By.XPATH, '..')
|
|
|
|
self.features = self.match.search(
|
|
button.find_element(By.TAG_NAME, 'label').text).group(1)
|
|
|
|
button.click()
|
|
self.coalesced_text_test()
|
|
|
|
self.driver.find_element(
|
|
By.ID, x).find_element(By.XPATH, '..').click()
|
|
|
|
def test_description_per_features_random(self):
|
|
self.randomly_select_feature()
|
|
|
|
def randomly_select_feature(self):
|
|
featureSelectionRow = self.driver.find_element(
|
|
By.ID, 'featureSelectionRow')
|
|
|
|
inputs = [
|
|
x.get_attribute(
|
|
'id'
|
|
) for x in featureSelectionRow.find_elements(
|
|
By.TAG_NAME, 'input'
|
|
)
|
|
]
|
|
|
|
unchecked_inputs = [
|
|
x for x in inputs if self.driver.find_element(
|
|
By.ID, x).is_selected() is False
|
|
]
|
|
|
|
if len(unchecked_inputs) > 0:
|
|
random_input = choice(unchecked_inputs)
|
|
button = self.driver.find_element(
|
|
By.ID, random_input).find_element(By.XPATH, '..')
|
|
|
|
feature = self.match.search(
|
|
button.find_element(By.TAG_NAME, 'label').text).group(1)
|
|
|
|
button.click()
|
|
|
|
self.assertIn(feature, self.desc.text[158:])
|
|
self.randomly_select_feature()
|