def __init__(self, driver): with allure.step("Finding components of the initial page"): self.driver = driver webdriver_waiter = WebDriverWait(self.driver.instance, integers.default_timeout) self.body = webdriver_waiter.until( EC.presence_of_element_located(( By.ID, strings.general_id_body)), strings.id_is_not_present_timeout_message.format(strings.main_page_id_body)) self.form_login = WebDriverWait(self.body, integers.default_timeout).until( EC.visibility_of_element_located((By.TAG_NAME, strings.html_tag_form)), strings.tag_timeout_message.format(strings.general_id_body, strings.html_tag_form)) self.input_username = WebDriverWait(self.form_login, integers.default_timeout).until( EC.visibility_of_element_located((By.NAME, strings.initial_page_name_username)), strings.name_timeout_message.format(strings.html_tag_form, strings.initial_page_name_username)) self.input_password = WebDriverWait(self.form_login, integers.default_timeout).until( EC.visibility_of_element_located((By.NAME, strings.initial_page_name_password)), strings.name_timeout_message.format(strings.html_tag_form, strings.initial_page_name_password)) self.form_submit = BasePage.find_button(self.form_login, (By.CSS_SELECTOR, strings.initial_page_css_selector_form_submit)) self.signup = BasePage.find_button(self.body, (By.CSS_SELECTOR, strings.initial_page_css_selector_signup)) self.login = BasePage.find_button(self.body, (By.CSS_SELECTOR, strings.initial_page_css_selector_login)) self.nav_footer = WebDriverWait(self.body, integers.default_timeout).until( EC.presence_of_element_located((By.TAG_NAME, strings.html_tag_nav)), strings.tag_timeout_message.format(strings.general_id_body, strings.html_tag_nav))
def __init__(self, driver): with allure.step("Finding components of the main page"): self.driver = driver webdriver_waiter = WebDriverWait(self.driver.instance, integers.default_timeout) self.body = webdriver_waiter.until( EC.presence_of_element_located( (By.ID, strings.main_page_id_body)), strings.id_is_not_present_timeout_message.format( strings.main_page_id_body)) self.image = WebDriverWait( self.body, integers.default_timeout).until( EC.presence_of_element_located( (By.TAG_NAME, strings.main_page_tag_img)), strings.main_page_tag_timeout_message.format( strings.main_page_id_body, strings.main_page_tag_img)) self.form_searching = webdriver_waiter.until( EC.presence_of_element_located( (By.ID, strings.main_page_id_searchform)), strings.id_is_not_present_timeout_message.format( strings.main_page_id_searchform)) self.input_searching = self.find_input_searching() self.div_main_buttons = webdriver_waiter.until( EC.presence_of_element_located( (By.CLASS_NAME, strings.main_page_class_FPdoLc)), strings.class_is_not_present_timeout_message.format( strings.main_page_class_FPdoLc)) self.searching_button = BasePage.find_button( self.div_main_buttons, (By.NAME, strings.main_page_name_btnK)) self.luck_button = BasePage.find_button( self.div_main_buttons, (By.NAME, strings.main_page_name_btnI)) self.drop_down_element = None
def __init__(self, driver): with allure.step("Finding components of the main page"): self.driver = driver webdriver_waiter = WebDriverWait(self.driver.instance, integers.default_timeout) self.body = webdriver_waiter.until( EC.presence_of_element_located( (By.ID, strings.general_id_body)), strings.id_is_not_present_timeout_message.format( strings.general_id_body)) self.header = WebDriverWait(self.body, integers.default_timeout).until( EC.visibility_of_element_located( (By.TAG_NAME, strings.html_tag_header)), strings.tag_timeout_message.format( strings.general_id_body, strings.html_tag_header)) self.home_btn = BasePage.find_button( self.header, (By.CSS_SELECTOR, strings.main_page_css_selector_home_btn)) self.new_tweet_btn = BasePage.find_button( self.header, (By.CSS_SELECTOR, strings.main_page_css_selector_new_tweet_btn)) self.main = WebDriverWait( self.body, integers.default_timeout).until( EC.visibility_of_element_located( (By.TAG_NAME, strings.html_tag_main)), strings.tag_timeout_message.format(strings.general_id_body, strings.html_tag_main)) self.primary_column = WebDriverWait( self.main, integers.default_timeout).until( EC.visibility_of_element_located( (By.CSS_SELECTOR, strings.main_page_css_selector_primary_column)), strings.css_selector_timeout_message.format( strings.html_tag_main, strings.main_page_css_selector_primary_column)) self.sidebar_column = WebDriverWait( self.main, integers.default_timeout).until( EC.visibility_of_element_located( (By.CSS_SELECTOR, strings.main_page_css_selector_sidebar_column)), strings.css_selector_timeout_message.format( strings.html_tag_main, strings.main_page_css_selector_sidebar_column)) self.modal_form_new_tweet = None self.draft_editor = None self.draft_editor_content = None self.toolbar = None self.tweet_btn = None self.own_tweets = []
class TestScreenShot(object): driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(1) basepage = BasePage(driver) def getScreenShot(self): self.basepage.open_url("https://www.baidu.com") time.sleep(1) self.basepage.take_screenshot() self.basepage.quit_browser()
def searching(self, string_query="TEST"): with allure.step("Define a query: {}".format(string_query)): self.input_searching.send_keys(string_query) with allure.step("Verify a value of input"): current_value = self.input_searching.get_attribute( strings.main_page_attribute_value) assert current_value == string_query, strings.main_page_difference_in_values_assert_message.\ format(string_query, current_value) with allure.step("Wait a drop-down list"): self.drop_down_element = WebDriverWait( self.form_searching, integers.default_timeout).until( EC.visibility_of_element_located( (By.CLASS_NAME, strings.main_page_class_UUbT9)), strings. main_page_element_with_class_is_not_visible_assert_message. format(strings.main_page_class_UUbT9)) with allure.step("Reassigning of the search's button"): self.searching_button = BasePage.find_button( self.drop_down_element, (By.NAME, strings.main_page_name_btnK)) with allure.step("Click on the 'Search' button"): self.searching_button.click()
def validate_buttons_of_searching_and_luck(self): for temp_button in [self.searching_button, self.luck_button]: BasePage.validate_element_is_displayed_and_enabled( self, temp_button)
def validate_buttons(self): for temp_button in [self.form_submit, self.signup, self.login]: BasePage.validate_element_is_displayed_and_enabled(self, temp_button)
def validate_button(self): BasePage.validate_element_is_displayed_and_enabled( self, self.form_submit)
def validate_buttons(self): for temp_button in [self.home_btn, self.new_tweet_btn]: BasePage.validate_element_is_displayed_and_enabled( self, temp_button)