コード例 #1
0
ファイル: class_front.py プロジェクト: Maksim1988/test
    def go_main(driver, phone=None, email=None, passwd=None, flag_auth=True, flag_api=True):
        """ Универсальный переход на главную страницу.
        :param driver: ссылка на драйвер
        :param phone: номер телефона
        :param email: электронная почта
        :param passwd: пароль
        :param flag_auth: флаг авторизации
        """
        from support.utils.variables import EVariable
        env_base_url = EVariable.front_base.url.strip()

        # авторизоваться через API
        if flag_auth:
            service_log.put("To authorization via API")
            if flag_api:
                if email is None and phone is not None:
                    HelpAuthMethods.set_authorization_by_phone(driver, phone, passwd)
                elif email is not None and phone is None:
                    # TODO
                    pass
                else:
                    msg_error = "Not correct params."
                    service_log.error(msg_error)
                    assert AssertionError(msg_error)
            else:
                if email is None and phone is not None:
                    HelpNavigateCheckMethods.get_page(driver, HelpNavigateCheckMethods.path_auth.PATH_AUTH)
                    obj_phone, obj_password, obj_submit_button = HelpAuthCheckMethods.get_data_authorization(driver)

                    # Вводим данные на авторизацию
                    l = lambda e, p:e if p is None else p
                    HelpAuthCheckMethods.send_phone(phone_object=obj_phone, phone_number=l(email, phone))
                    HelpAuthCheckMethods.send_password(password_object=obj_password, password_number=passwd)
                    # Нажатие на кнопку авторизации
                    HelpNavigateCheckMethods.element_click(driver, obj_submit_button, change_page_url=True)
                    time.sleep(HelpNavigateCheckMethods.time_sleep)
                elif email is not None and phone is None:
                    # TODO
                    pass
                else:
                    msg_error = "Not correct params."
                    service_log.error(msg_error)
                    assert AssertionError(msg_error)
            service_log.put("To authorization via API - success.")

        service_log.put("Get page: %s" % env_base_url)
        do_get_work = time.time()
        driver.get(env_base_url)
        work_get_time = HelpNavigateCheckMethods.work_time(do_get_work)
        service_log.put("Onload event time: [%s]" % work_get_time)
        HelpNavigateCheckMethods.progress(driver)
        work_load_time = HelpNavigateCheckMethods.work_time(do_get_work)
        service_log.put("Page received: %s" % env_base_url)
        service_log.put("Page received time: %s" % work_load_time)
        time.sleep(3)
コード例 #2
0
ファイル: class_front.py プロジェクト: Maksim1988/test
 def go_authorization_page(driver, env_base_url=MainClass.ENV_BASE_URL, sleep=2):
     """ Авторизоваться через главную страницу.
     :param driver: ссылка на драйвер
     :param env_base_url: адрес главной страницы
     :param sleep: ожидание пока страница прогрузиться
     """
     service_log.put("Get page: %s" % env_base_url)
     do_get_work = time.time()
     driver.get(env_base_url)
     work_get_time = HelpNavigateCheckMethods.work_time(do_get_work)
     service_log.put("Onload event time: [%s]" % work_get_time)
     HelpNavigateCheckMethods.progress(driver)
     work_load_time = HelpNavigateCheckMethods.work_time(do_get_work)
     service_log.put("Page received: %s" % env_base_url)
     service_log.put("Page received time: %s" % work_load_time)
     reg_log_btn = HelpNavigateCheckMethods.get_element_navigate(driver, HelpAuthData.click_main.BUTTON_REG_AN_LOGIN)
     HelpAuthCheckMethods.click_button(reg_log_btn)
     login_button = HelpNavigateCheckMethods.get_element_navigate(driver, HelpAuthData.click_main.BUTTON_LOGIN, mode=None)
     login_button.is_displayed()
     login_button.is_enabled()
     HelpNavigateCheckMethods.element_click(driver, login_button)
コード例 #3
0
ファイル: class_front.py プロジェクト: Maksim1988/test
 def go_registration_page(driver, type_xpath=1, env_base_url=MainClass.ENV_BASE_URL, sleep=2):
     """ Переход на страницу регистрации.
     :param driver: ссылка на драйвер
     :param type_xpath: тип перехода по xpath
     :param sleep: задержка в миллесекундах
     """
     registration_button = None
     if type_xpath == 1:
         registration_button = HelpNavigateCheckMethods.element_is_present(driver, HelpAuthData.REGISTRATION_PAGE)
         # time.sleep(sleep)
     elif type_xpath == 2:
         service_log.put("Get page: %s" % env_base_url)
         do_get_work = time.time()
         driver.get(env_base_url)
         work_get_time = HelpNavigateCheckMethods.work_time(do_get_work)
         service_log.put("Onload event time: [%s]" % work_get_time)
         HelpNavigateCheckMethods.progress(driver)
         work_load_time = HelpNavigateCheckMethods.work_time(do_get_work)
         service_log.put("Page received: %s" % env_base_url)
         service_log.put("Page received time: %s" % work_load_time)
         registration_button = HelpNavigateCheckMethods.element_is_present(driver, HelpAuthData.click_main.BUTTON_REG_AN_LOGIN)
     registration_button.click()
     time.sleep(sleep)
コード例 #4
0
 def see_content(driver, see_time, wait=5):
     """
     Метод проверяет наличие активной кнопки домой
     :param driver:
     :return:
     """
     flag_fast_pass = True
     do_time = time.time()
     while time.time() - do_time < wait:
         try:
             Navigate.find_element_by_xpath_fast(driver, Navigate.check_main.MAIN_MENU_HOME_ACTIVE)
             work_time = Navigate.work_time(do_time)
             fail = 0
             break
         except NoSuchElementException:
             flag_fast_pass = False
             work_time = wait
             fail = 1
     if flag_fast_pass is True:
         return see_time, fail
     else:
         return work_time, fail
コード例 #5
0
ファイル: test_favorite_page.py プロジェクト: Maksim1988/test
    def test_add_good_in_deal_to_favorite_remove(self, test_data=HelpNavigateData.CATALOG_TO_GOOD, sleep=2):
        """
        Title: Добавить товар в избранное \ Удалить товар из избранного
        """
        service_log.run(self)

        # Берем тестового продавца на магазине которого будут проводиться проверки
        self.default_test_seller_id = AccountingMethods.get_default_user_id(role="buyer")
        self.user = databases.db1.accounting.get_user_by_account_id(self.default_test_seller_id)[0]
        AccountingMethods.save_user_password(user_id=self.user["id"], hash_passwd=self.user["code_value"])

        # Устанавливаем новый пароль для пользователя
        default_new_passwd = AccountingMethods.get_default_password()
        hash_res_new = generate_sha256(default_new_passwd, self.user["salt"])
        databases.db1.accounting.update_user_password(self.user["id"], hash_res_new)

        self.go_main(self.driver, phone=self.user["phone"], passwd=default_new_passwd, flag_auth=True)

        number_good = random.randrange(1, 10, 1)
        # test_data["start_xpath_good"] = self.click_catalog.GOOD_LNK

        # Переходим на все товары рандомной рутовой категории
        self.get_page(self.driver, self.path_category.URL_ALL_IN_CATEGORY % random.choice(self.ROOT_CATEGORY_SUITE))
        # Выбираем товар и сохраняем его имя
        service_log.put("Выбираем товар и сохраняем его имя")
        good_name = self.get_name(self.get_element_navigate(self.driver, test_data["start_xpath_good"] % number_good))
        # Переход на страницу товара
        service_log.put("Переход на страницу товара")
        self.check_navigate_in_good_page(self.driver, test_data, number_good)
        url_good = self.driver.current_url.encode("utf-8")
        good_id = url_good[url_good.rfind("/") + 1 :]
        # Жмем кнопку запросить цену по товару - товар в сделке, обновляем страницу
        service_log.put("Жмем кнопку запросить цену по товару - товар в сделке, обновляем страницу")
        btn_call_seller = self.get_element_navigate(self.driver, self.click_good.BTN_CALL_SELLER)
        self.click_button(btn_call_seller)
        input_msg = self.element_is_present(self.driver, self.input_good.POPUP_INPUT_MSG)
        input_msg.send_keys(str(time.time()))
        btn_send = self.get_element_navigate(self.driver, self.click_good.BTN_SEND)
        self.click_button(btn_send)
        btn_to_good = self.get_element_navigate(self.driver, self.click_good.BTN_TO_CARD_GOOD)
        self.click_button(btn_to_good)
        # Жмем кнопку добавить в избранное
        service_log.put("Жмем кнопку добавить в избранное")
        btn_add_to_favorite = self.get_element_navigate(self.driver, self.click_good.ADD_FAVORITE)
        btn_add_to_favorite.click()
        # Проверяем, что кнопка изменилась на удалить из избранного  остается такой же после обновления страницы
        service_log.put("Проверяем, что кнопка изменилась на удалить из избранного")
        self.get_element_navigate(self.driver, self.click_good.DEL_FAVORITE)
        self.driver.refresh()
        HelpNavigateCheckMethods.progress(self.driver)
        self.get_element_navigate(self.driver, self.click_good.DEL_FAVORITE)
        # Переходим в избранные товары
        service_log.put("Переходим в избранные товары")
        self.get_page(self.driver, self.path_favorites.URL_FAVORITES_GOODS)
        # Проверяем наличие товара в избранном
        service_log.put("Проверяем наличие товара в избранном")
        self.get_element_navigate(self.driver, self.click_favorite.GOOD_NAME_BY_ID_AND_TITLE % (good_name, good_id))
        # Удаляем из избранного
        service_log.put("Удаляем из избранного")
        del_favorite = self.get_element_navigate(self.driver, self.click_favorite.DEL_FAVORITE % (good_name, good_id))
        del_favorite.click()
        time.sleep(sleep)
        # Проверяем, что нет на странице избранного
        test_good = dict(
            xpath=(self.click_favorite.GOOD_NAME_BY_ID_AND_TITLE % (good_id, good_name)),
            err_msg="Товар остался в списке избранного после удаления",
        )
        self.check_no_such_element(self.driver, test_good)
        # Переходим на страницу товара и проверяем, что кнопка добавить в избранное
        service_log.put("Get page: %s" % url_good)
        do_get_work = time.time()
        self.driver.get(url_good)
        work_get_time = HelpNavigateCheckMethods.work_time(do_get_work)
        service_log.put("Onload event time: [%s]" % work_get_time)
        HelpNavigateCheckMethods.progress(self.driver)
        work_load_time = HelpNavigateCheckMethods.work_time(do_get_work)
        service_log.put("Page received: %s" % url_good)
        service_log.put("Page received time: %s" % work_load_time)
        self.get_element_navigate(self.driver, self.click_good.ADD_FAVORITE)