コード例 #1
0
 def submit_sales_value(self, period, period_start_date, survey, value,
                        question):
     value = Utilities.convert_blank_data_value(value)
     question_element = Utilities.get_question_code_element(
         survey, question)
     self.submit_default_period_dates(period, period_start_date)
     SeleniumCore.set_current_data_text(question_element, value)
 def set_internet_sales_value(self, validation_type, value):
     if validation_type.lower() == 'poprrm':
         SeleniumCore.set_current_data_text(
             details.POPRRM_QUESTION_PRIMARY_ELEMENT, value)
     elif validation_type.lower() == 'popmrz':
         SeleniumCore.set_current_data_text(
             details.POPMRZ_QUESTION_PRIMARY_ELEMENT, value)
 def set_total_turnover_sales_value(self, validation_type, value):
     if validation_type.lower() == 'poprrm':
         SeleniumCore.set_current_data_text(
             details.POPRRM_QUESTION_SECONDARY_ELEMENT, value)
     elif validation_type.lower() == 'popmrz':
         SeleniumCore.set_current_data_text(
             details.POPMRZ_QUESTION_SECONDARY_ELEMENT, value)
コード例 #4
0
 def login(self, username, password):
     SeleniumCore.wait_for_element_to_be_displayed(By.ID,
                                                   LoginPage.USERNAME_FIELD)
     self.driver.find_elements_by_id(
         LoginPage.USERNAME_FIELD)[1].send_keys(username)
     self.driver.find_elements_by_id(
         LoginPage.PASSWORD_FIELD)[1].send_keys(password)
     self.driver.find_elements_by_name(LoginPage.LOGIN_BUTTON)[1].click()
 def submit_pp_sales_values(self, validation_type, internet_sales,
                            total_sales):
     global pp_internet_sales, pp_total_sales
     pp_internet_sales = Utilities.convert_blank_data_value(internet_sales)
     pp_total_sales = Utilities.convert_blank_data_value(total_sales)
     self.set_internet_sales_value(validation_type, pp_internet_sales)
     self.set_total_turnover_sales_value(validation_type, pp_total_sales)
     CheckValuesContributorDetails().save_the_application()
     SeleniumCore.close_the_current_window()
 def run_the_validation_process(self, threshold_primary_value,
                                exp_derived_value):
     SeleniumCore.set_current_data_text(
         details.THRESHOLD_PRIMARY_QUESTION_ELEMENT,
         threshold_primary_value)
     CheckValuesContributorDetails().save_the_application()
     actual_derived_val = SeleniumCore.get_attribute_element_text(
         By.ID, details.THRESHOLD_DERIVED_QUESTION_ELEMENT)
     ReportingHelper.check_single_message_matches('Q12', actual_derived_val,
                                                  exp_derived_value)
コード例 #7
0
 def submit_single_value_for_multiple_questions(self, survey,
                                                questions_list,
                                                commodity_value):
     for question in questions_list:
         question_element = Utilities.get_question_code_element(
             survey, question)
         commodity_value = Utilities.convert_blank_data_value(
             commodity_value)
         SeleniumCore.set_current_data_text(question_element,
                                            commodity_value)
 def run_the_validation_process(self, total_turnover_value,
                                exp_derived_value):
     SeleniumCore.set_current_data_text(
         self.QUESTION_TOTAL_TURNOVER_ELEMENT, total_turnover_value)
     CheckValuesContributorDetails().save_the_application()
     actual_derived_val = SeleniumCore.get_attribute_element_text(
         *RsiContributorDetailsPage.QUESTION_DERIVED_ELEMENT)
     ReportingHelper.check_single_message_matches('Q7034',
                                                  actual_derived_val,
                                                  exp_derived_value)
 def submit_pp_sales_values(self, period, period_start_date, internet_sales,
                            total_sales):
     global pp_internet_sales, pp_total_sales
     pp_internet_sales = Utilities.convert_blank_data_value(internet_sales)
     pp_total_sales = Utilities.convert_blank_data_value(total_sales)
     SubmitContributorDetails().submit_default_period_dates(
         period, period_start_date)
     self.set_internet_sales_value(pp_internet_sales)
     self.set_total_turnover_sales_value(pp_total_sales)
     CheckValuesContributorDetails().save_the_application()
     SeleniumCore.close_the_current_window()
コード例 #10
0
 def get_all_the_periods(self, reference, period, sic_code):
     self.periods = []
     self.periods = self.get_no_of_periods(self.periods)
     # Check if next button displayed then go to next page to get remaining periods
     while SeleniumCore.find_elements_by(
             *ContributorSearchPage.NEXT_BUTTON)[0].is_displayed():
         SeleniumCore.find_elements_by(
             *ContributorSearchPage.NEXT_BUTTON)[0].click()
         time.sleep(2)
         self.periods = self.get_no_of_periods(self.periods)
     self.select_the_form_row(reference, period, sic_code)
     return self.periods
コード例 #11
0
 def submit_values_as_a_list_for_multiple_questions(self, survey,
                                                    questions_list,
                                                    commodity_values):
     if len(questions_list) > 1:
         count = 0
     for question in questions_list:
         question_element = Utilities.get_question_code_element(
             survey, question)
         SeleniumCore.set_current_data_text(
             question_element,
             Utilities.convert_blank_data_value(commodity_values[count]))
         if len(commodity_values) > 1:
             count += 1
コード例 #12
0
    def run_the_validation_process(self, questions):
        questions_list = questions[0]
        comparing_question_value = Utilities.convert_blank_data_value(questions[1])
        derived_question_value = Utilities.convert_blank_data_value(questions[2])
        survey = Utilities.convert_blank_data_value(questions[3])

        comparing_question_element = Utilities.get_question_code_element(survey, questions_list[0])
        derived_question_element = Utilities.get_question_code_element(survey, questions_list[1])
        SeleniumCore.set_current_data_text(comparing_question_element, comparing_question_value)
        CheckValuesContributorDetails().save_the_application()
        actual_derived_val = SeleniumCore.get_attribute_element_text(By.ID, derived_question_element)
        if derived_question_value == '':
            derived_question_value = '0'
        ReportingHelper.check_single_message_matches(questions_list[1], actual_derived_val, derived_question_value)
コード例 #13
0
 def override_the_validation(self, question, type_of_check):
     question_row = self.get_question_code_row_details(
         contributor_details.CURRENT_DATA_TAB_ELEMENT, question)
     check_boxes = question_row.find_elements_by_name(
         contributor_details.OVERRIDE_CHECKBOX_ELEMENT)
     count = 0
     for i in range(0, len(check_boxes)):
         if type_of_check == 'validation' and check_boxes[i].get_attribute("checked") == "true" or \
                 type_of_check == 'override' and check_boxes[i].get_attribute("checked") != "true":
             check_boxes[i].click()
             count += 1
     if count >= 1:
         SeleniumCore.find_elements_by(
             *contributor_details.OVERRIDE_BUTTON)[0].click()
コード例 #14
0
 def select_the_form_row(self, reference, period, sic_code):
     table = SeleniumCore.wait_for_element_to_be_displayed(
         By.ID, "ResultsTable")
     rows = table.find_elements_by_tag_name("tr")
     # Ignore the first row
     for i in range(1, len(rows)):
         cols = rows[i].find_elements_by_tag_name("td")
         # Check to see the sic code exists
         if sic_code:
             ReportingHelper.check_single_message_matches(
                 reference, cols[i + 6].text, sic_code)
         # Check to see if any references appear that shouldn't be there
         if cols[1].text == reference and cols[2].text == period:
             view_form = rows[i].find_elements_by_tag_name("button")
             SeleniumCore.select_view_form(view_form[0])
             break
コード例 #15
0
 def get_no_of_periods(self, periods):
     table = SeleniumCore.wait_for_element_to_be_displayed(
         By.ID, "ResultsTable")
     rows = table.find_elements_by_tag_name("tr")
     for i in range(1, len(rows)):
         cols = rows[i].find_elements_by_tag_name("td")
         periods.append(cols[2].text)
     return periods
コード例 #16
0
 def get_question_code_row_details(self, table_name, question):
     table = SeleniumCore.wait_for_element_to_be_displayed(
         By.ID, table_name)
     rows = table.find_elements_by_tag_name("tr")
     # Ignore the first row
     for i in range(1, len(rows)):
         cols = rows[i].find_elements_by_tag_name("td")
         # Check to see if the question code matches
         if cols[0].text == question:
             return rows[i]
 def check_multiple_comment_text_messages(self, question_codes):
     survey = question_codes[0]
     questions_list = question_codes[1]
     commodity_values = Utilities.get_values_as_a_list(question_codes[2])
     if len(questions_list) > 1:
         count = 0
         for question in questions_list:
             question_element = Utilities.get_question_code_element(
                 survey, question)
             question_actual_text = SeleniumCore.get_attribute_element_text(
                 By.ID, question_element)
             commodity_value = Utilities.convert_blank_data_value(
                 commodity_values[count])
             ReportingHelper.check_single_message_matches(
                 question_element, question_actual_text, commodity_value)
コード例 #18
0
 def submit_search_details(self, *search_types):
     reference = search_types[0]
     period = search_types[1]
     survey = search_types[2]
     if reference == 'empty':
         reference = ''
     elif period == 'empty':
         period = ''
     elif survey == 'empty':
         survey = ''
     SeleniumCore.set_element_text(self.REFERENCE_TEXT_FIELD, reference)
     SeleniumCore.set_element_text(self.PERIOD_TEXT_FIELD, period)
     SeleniumCore.set_element_text(self.SURVEY_TEXT_FIELD, survey)
     self.driver.find_element(*ContributorSearchPage.SEARCH_BUTTON).click()
コード例 #19
0
 def __init__(self):
     if self.current_page_title() == 'Search':
         SeleniumCore.switch_window()
     super().__init__('Data Clearing')
コード例 #20
0
 def set_period_end_date(self, value):
     SeleniumCore.set_current_data_text(
         contributor_details.PERIOD_END_DATE_ELEMENT, value)
コード例 #21
0
 def submit_single_value_per_question(self, survey, questions_list,
                                      commodity_value):
     question_element = Utilities.get_question_code_element(
         survey, questions_list)
     SeleniumCore.set_current_data_text(question_element, commodity_value)
コード例 #22
0
 def current_page_title(self):
     element = SeleniumCore.wait_for_element_to_be_displayed(By.XPATH, "//div[contains(@class,'header__title')]")
     return element.text
コード例 #23
0
 def save_the_application(self):
     DriverContext.driver.find_element(
         *contributor_details.SAVE_AND_VALIDATE).click()
     SeleniumCore.switch_to_alert_box()
     self.check_if_validation_status_changed()
 def switch_to_the_tab(self, tab_name):
     elements = SeleniumCore.find_elements_by(*details.TAB_ELEMENTS)
     for ele in elements:
         if ele.text.lower() == tab_name.lower():
             ele.click()
             break
コード例 #25
0
def after_scenario(context, scenario):
    # take screenshot if test failed
    Utilities.take_screen_shot(scenario)
    SeleniumCore.close_the_current_window()
    LoginPage().logout()
コード例 #26
0
 def validate_the_previous_period_details(self, questions_and_values):
     SubmitContributorDetails().submit_values_for_survey_questions(questions_and_values)
     CheckValuesContributorDetails().save_the_application()
     SeleniumCore.close_the_current_window()
 def set_internet_sales_value(self, value):
     SeleniumCore.set_current_data_text(
         self.QUESTION_INTERNET_SALES_ELEMENT, value)
 def set_total_turnover_sales_value(self, value):
     SeleniumCore.set_current_data_text(
         self.QUESTION_TOTAL_TURNOVER_ELEMENT, value)
 def get_derived_question_value(self):
     return int(
         SeleniumCore.get_attribute_element_text(
             *RsiContributorDetailsPage.QUESTION_DERIVED_ELEMENT))
コード例 #30
0
 def get_validation_status(self):
     return SeleniumCore.get_element_text(*contributor_details.STATUS)