mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-19 22:42:17 +00:00
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
from pypom import Page, Region
|
|
from selenium.webdriver.common.by import By
|
|
from selenium.webdriver.support import expected_conditions
|
|
from selenium.webdriver import Chrome
|
|
from django.urls import reverse
|
|
from PyRIGS.tests import regions
|
|
from PyRIGS.tests.pages import BasePage, FormPage
|
|
from selenium.common.exceptions import NoSuchElementException
|
|
|
|
class Index(BasePage):
|
|
URL_TEMPLATE = reverse('index')
|
|
|
|
|
|
class Rigboard(BasePage):
|
|
URL_TEMPLATE = reverse('rigboard')
|
|
|
|
_add_item_selector = (By.CSS_SELECTOR, 'a.btn:nth-child(2)')
|
|
_event_row_locator = (By.ID, 'event_row')
|
|
|
|
def add(self):
|
|
self.find_element(*self._add_item_selector).click()
|
|
|
|
class EventListRow(Region):
|
|
_event_number_locator = (By.ID, "event_number")
|
|
_event_dates_locator = (By.ID, "event_dates")
|
|
_event_details_locator = (By.ID, "event_details")
|
|
_event_mic_locator = (By.ID, "event_mic")
|
|
|
|
@property
|
|
def id(self):
|
|
return self.find_element(*self._event_number_locator).text
|
|
|
|
@property
|
|
def dates(self):
|
|
return self.find_element(*self._event_dates_locator).text
|
|
|
|
@property
|
|
def details(self):
|
|
return self.find_element(*self._event_details_locator).text
|
|
|
|
@property
|
|
def mic(self):
|
|
return self.find_element(*self._event_mic_locator).text
|
|
|
|
@property
|
|
def events(self):
|
|
return [self.EventListRow(self, i) for i in self.find_elements(*self._event_row_locator)]
|
|
|
|
|
|
class GenericList(BasePage):
|
|
_search_selector = (By.CSS_SELECTOR, 'div.input-group:nth-child(2) > input:nth-child(1)')
|
|
_search_go_selector = (By.ID, 'id_search')
|
|
_add_item_selector = (By.CSS_SELECTOR, '.btn-success')
|
|
|