当前位置: 首页>>代码示例>>Python>>正文


Python HelpNavigateCheckMethods.progress方法代码示例

本文整理汇总了Python中tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods.progress方法的典型用法代码示例。如果您正苦于以下问题:Python HelpNavigateCheckMethods.progress方法的具体用法?Python HelpNavigateCheckMethods.progress怎么用?Python HelpNavigateCheckMethods.progress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods的用法示例。


在下文中一共展示了HelpNavigateCheckMethods.progress方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_as_visitor_to_chat

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
 def test_as_visitor_to_chat(self, number_good=1, test_data=HelpNavigateCheckMethods.CATALOG_TO_GOOD):
     #TODO: обновить
     """
     Title: Я, как Гость, при нажатии на "Связаться с продавцом" увижу страницу Авторизации
     """
     self.driver.delete_all_cookies()
     self.driver.refresh()
     HelpNavigateCheckMethods.progress(self.driver)
     self.go_main(self.driver, flag_auth=False)
     # Выбираем товар и сохраняем его имя
     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)
     # Жмем кнопку
     service_log.put("Жмем кнопку Связаться с продавцом")
     btn_to_call = self.get_element_navigate(self.driver, self.click_good.BTN_CALL_SELLER)
     btn_to_call.click()
     obj_send = self.get_element_navigate(self.driver, self.click_good.BTN_SEND)
     self.click_button(obj_send)
     # Проверяем, что перекинуло на авторизацию
     service_log.put("Проверяем, что перекинуло на авторизацию")
     #self.click_to_phone(self.driver)
     self.check_page_authorization(self.driver)
开发者ID:Maksim1988,项目名称:test,代码行数:27,代码来源:test_chat.py

示例2: test_smoke_user_settings

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
    def test_smoke_user_settings(self):
        """
        Title: Тест сценарий изменений настроек пользователя.
        Description:
            1) Авторизоваться пользователем
            2) Перейти на страницу "Настройки"
                - Проверить, что отображаемые данные  = тому что в базе (включая аватар)
                - Проверить, что Имя и Аватар отображаемом в виджете "Профиль пользователя" = тому что в базе
            3) Изменить Имя пользователя и пол
                - Проверить что изменения отображаются и в базе и в интерфейсе
            4) Изменить аватар (старый удалить)
                - Проверить, что отображается заглушка фото (в настройках и в профиле продавца)
            5) Изменить аватар (добавить новый)
                - Проверить, что отображается новая фото (в настройках и в профиле продавца)
        """

        # 1) Авторизоваться Пользователем через e-mail и проверить успешность операции.
        self.go_to_main_page(self.driver)
        self.click_reg_and_auth(self.driver)
        self.click_tab_login(self.driver)
        auth_form = self.get_auth_email_form(self.driver)
        auth_form["email_input"].send_keys(self.user['email'])
        auth_form["password_input"].send_keys(self.default_passwd)
        self.click_button(auth_form["login_btn"])

        # Перейти на страницу "Настройки"
        self.get_page(self.driver, self.path_settings.PATH_PROFILE_SETTINGS)
        profile = self.get_user_profile_form(self.driver, self.user)
        gender = self.get_gender_user2(self.driver, self.user["gender"])

        # Изменить Имя пользователя и пол
        self.clear_input_row(self.driver, profile["name_input"])
        new_name = common_utils.random_string()
        profile["name_input"].send_keys(new_name)
        gender_ui = self.set_gender(gender, self.user["gender"])
        self.click_button(profile["save_btn"])

        # Проверяем, что изменения вступили в силу, как в БД, так и в интерфейсе
        criteria = "gender='%s' and display_name='%s' and id=%s" % (gender_ui, new_name, self.user["id"])
        user_updated = databases.db1.accounting.get_user_by_criteria_only(criteria)[0]
        self.driver.refresh()
        Navigate.progress(self.driver)
        self.get_user_profile_form(self.driver, user_updated)
        self.get_gender_user(self.driver, user_updated["gender"])

        # Изменить аватар (старый удалить)
        btn_avatar = self.get_delete_avatar_button(self.driver)  # TODO: У пользователя уже должен быть аватар!
        btn_avatar.click()

        # Изменить аватар (добавить новый)
        img_path = self.IMG_AVATAR[0]
        add_img_btn = self.get_element_navigate(self.driver, self.click_my_goods.ADD_AVATAR)
        add_img_btn.click()
        self.add_photo(img_path)
        self.assertIsNotNone(self.get_delete_avatar_button(self.driver))
开发者ID:Maksim1988,项目名称:test,代码行数:57,代码来源:test_smoke_action_user.py

示例3: go_main

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
    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)
开发者ID:Maksim1988,项目名称:test,代码行数:57,代码来源:class_front.py

示例4: check_delete_first_user_in_cl

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
 def check_delete_first_user_in_cl(self, driver, user_id, fav_usr, link_db):
     fav_users_list_old = link_db.accounting.get_fav_user_in_cl_user(user_id, fav_usr["id"])
     self.assertNotEqual(len(fav_users_list_old), 0 , "Пользователя нет в БД контактах")
     self.delete_first_user_in_cl(driver, fav_usr)
     fav_users_list_new = link_db.accounting.get_fav_user_in_cl_user(user_id, fav_usr["id"])
     self.assertEqual(len(fav_users_list_new), 0, "Пользователь есть в БД контактах: '%s'" % fav_users_list_new)
     HelpUserContactsCheckMethods.check_user_no_in_cl(self, driver, fav_usr["id"])
     driver.refresh()
     Navigate.progress(driver)
     HelpUserContactsCheckMethods.check_user_no_in_cl(self, driver, fav_usr["id"])
     Navigate.get_page(driver, Navigate.path_buyer.URL_BUYER % fav_usr["id"])
     Navigate.get_element_navigate(driver, Navigate.click_user_contact.IN_CONTACT_USER, sleep=0.1, mode=None)
     driver.back()
开发者ID:Maksim1988,项目名称:test,代码行数:15,代码来源:class_user_contacts.py

示例5: go_authorization_page

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
 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)
开发者ID:Maksim1988,项目名称:test,代码行数:23,代码来源:class_front.py

示例6: go_registration_page

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
 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)
开发者ID:Maksim1988,项目名称:test,代码行数:25,代码来源:class_front.py

示例7: test_my_goods_switch_good_status

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
    def test_my_goods_switch_good_status(self):
        """
        Title: Перемещение товара [В Активные]. Перемещение товара [В Неактивые]
        """
        service_log.run(self)
        # получаем список id товаров
        list_good_id = self.get_good_id_from_page_source(self.driver, self.path_my_goods.TO_FIND_GOODS)
        str_good = ''
        for good_id in list_good_id:
            str_good += "'" + good_id + "'"
            str_good += ", "
        # Первый товар преводим в статус НЕАКТИВНЫЙ
        checkbox = self.get_element_navigate(self.driver, self.click_my_goods.CHECKBOX % list_good_id[0])
        self.click_button(checkbox)
        good_to_inactive = self.get_element_navigate(self.driver, self.click_my_goods.GOOD_BY_ID_TO_STATUS %
                                                     'В неактивные')
        self.click_button(good_to_inactive)
        name_stock_state = 'HIDDEN'
        stock_state = self.get_StockState(name_stock_state)
        #services.warehouse.root.tframed.makePublication(list_good_id[0], stock_state)
        # Проверяем, что товар перешел в статус HIDDEN
        ware_cassandra = databases.db0.warehouse.get_wares_by_ware_id(list_good_id[0])[0]
        self.assertEqual(ware_cassandra['stock_state'], stock_state, "Статус товара не равен 3 - неактивному товару")
        # Обновляем страницу мои товары
        self.driver.refresh()
        HelpNavigateCheckMethods.progress(self.driver)
        time.sleep(self.time_sleep)
        # Получаем обновленный список товаров на странице мои товары - активные
        list_good_id_new = self.get_good_id_from_page_source(self.driver, self.path_my_goods.TO_FIND_GOODS)
        msg_error = "Неактивный товар присутствует в обновленном списке товаров - активные"
        self.assertEqual(list_good_id_new.count(list_good_id[0]), 0, msg_error)
        # Проверяем товары на странице - активные
        str_good_new = ''
        for good_id_new in list_good_id_new:
            str_good_new += "'" + good_id_new + "'"
            str_good_new += ", "
        wares_cassandra_new = databases.db0.warehouse.get_wares_by_ware_ids(str_good_new[:-2])
        self.assertIsNotNone(wares_cassandra_new, "Из базы не были получены товары")
        for ware_cassandra in wares_cassandra_new:
            self.assertEqual(ware_cassandra['shop_id'], self.user["id"], "Id продавца не совпадает с shop_id")
            self.assertEqual(ware_cassandra['stock_state'], 2, "Статус товара не равен 2 - активному товару")
            msg_error = "Статус товара не равен 1 или 2 - опубликованному или прошедшему модерацию"
            self.assertLessEqual(ware_cassandra['moderation_state'], 2, msg_error)

        # Переходим на страницу - неактивные
        obj_inactive_page = self.get_element_navigate(self.driver, self.click_my_goods.INACTIVE_PAGE)
        self.click_button(obj_inactive_page)
        # получаем список id товаров
        list_good_id_inact = self.get_good_id_from_page_source(self.driver, self.path_my_goods.TO_FIND_GOODS)
        msg_error = "Неактивный товар отсутствует в списке товаров - неактивные"
        self.assertEqual(list_good_id_inact.count(list_good_id[0]), 1, msg_error)
        str_good_inact = ''
        for good_id_inact in list_good_id_inact:
            str_good_inact += "'" + good_id_inact + "'"
            str_good_inact += ", "
        wares_cassandra_inact = databases.db0.warehouse.get_wares_by_ware_ids(str_good_inact[:-2])
        self.assertIsNotNone(wares_cassandra_inact, "Из базы не были получены товары")
        for ware_cassandra in wares_cassandra_inact:
            self.assertEqual(ware_cassandra['shop_id'], self.user["id"], "Id продавца не совпадает с shop_id")
            self.assertEqual(ware_cassandra['stock_state'], 3, "Статус товара не равен 3 - неактивному товару")
            msg_error = "Товар в статусах: Отклоненные модератором и Ожидающие модерации, Одобренные или Забанненые"
            self.assertIn(str(ware_cassandra['moderation_state']), '1,2,3,4', msg_error)

        # Первый товар преводим в статус АКТИВНЫЙ
        checkbox = self.get_element_navigate(self.driver, self.click_my_goods.CHECKBOX % list_good_id[0])
        self.click_button(checkbox)
        good_to_active = self.get_element_navigate(self.driver, self.click_my_goods.GOOD_BY_ID_TO_STATUS % 'В активные')
        self.click_button(good_to_active)
        name_stock_state = 'PUBLISHED'
        stock_state = self.get_StockState(name_stock_state)
        #services.warehouse.root.tframed.makePublication(list_good_id[0], stock_state)
        # Проверяем, что товар перешел в статус PUBLISHED
        ware_cassandra = databases.db0.warehouse.get_wares_by_ware_id(list_good_id[0])[0]
        self.assertEqual(ware_cassandra['stock_state'], stock_state, "Статус товара не равен 2 - активному товару")

        # Обновляем страницу товаров - неактивные
        self.driver.refresh()
        HelpNavigateCheckMethods.progress(self.driver)
        time.sleep(self.time_sleep)

        # получаем список id товаров
        list_good_id_inact_new = self.get_good_id_from_page_source(self.driver, self.path_my_goods.TO_FIND_GOODS)
        msg_error = "Активный товар присутствует в списке товаров - неактивные"
        self.assertEqual(list_good_id_inact_new.count(list_good_id[0]), 0, msg_error)
        # Переходим на страницу - активные
        obj_active_page = self.get_element_navigate(self.driver, self.click_my_goods.ACTIVE_PAGE)
        self.click_button(obj_active_page)
        # получаем список id товаров
        list_good_id_act_new = self.get_good_id_from_page_source(self.driver, self.path_my_goods.TO_FIND_GOODS)
        msg_error = "Активный товар отсутствует в списке товаров - активные"
        self.assertEqual(list_good_id_act_new.count(list_good_id[0]), 1, msg_error)
开发者ID:Maksim1988,项目名称:test,代码行数:93,代码来源:test_catalog.py

示例8: test_seller_shop_switch_good_status

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
    def test_seller_shop_switch_good_status(self):
        """
        Title: Отображаются только АКТИВНЫЕ товары (Активные.В модерации или Активные.Утвержден)
        """
        service_log.run(self)
        # получаем список id товаров
        list_good_id = self.get_good_id_from_page_source(self.driver, self.path_shop.TO_FIND_GOODS)
        str_good = ''
        for good_id in list_good_id:
            str_good += "'" + good_id + "'"
            str_good += ", "
        # Первый товар преводим в статус НЕАКТИВНЫЙ
        name_stock_state = 'HIDDEN'
        stock_state = self.get_StockState(name_stock_state)
        services.warehouse.root.tframed.makePublication(list_good_id[0], stock_state)
        # Проверяем, что товар перешел в статус HIDDEN
        ware_cassandra = databases.db0.warehouse.get_wares_by_ware_id(list_good_id[0])[0]
        self.assertEqual(ware_cassandra['stock_state'], stock_state, "Статус товара не равен 3 - неактивному товару")
        # Обновляем страницу магазина
        self.driver.refresh()
        HelpNavigateCheckMethods.progress(self.driver)
        time.sleep(self.time_sleep)
        # Получаем обновленный список товаров на странице магазина
        list_good_id_new = self.get_good_id_from_page_source(self.driver, self.path_shop.TO_FIND_GOODS)
        msg_error = "Неактивный товар присутствует в обновленном списке товаров на странице магазина."
        self.assertEqual(list_good_id_new.count(list_good_id[0]), 0, msg_error)
        str_good_new = ''
        for good_id_new in list_good_id_new:
            str_good_new += "'" + good_id_new + "'"
            str_good_new += ", "
        wares_cassandra = databases.db0.warehouse.get_wares_by_ware_ids(str_good_new[:-2])
        self.assertIsNotNone(wares_cassandra, "Из базы не были получены товары")
        for ware_cassandra in wares_cassandra:
            self.assertEqual(ware_cassandra['shop_id'], self.user["id"], "Id продавца не совпадает с shop_id")
            self.assertEqual(ware_cassandra['stock_state'], 2, "Статус товара не равен 2 - активному товару")
            msg_error = "Статус товара не равен 1 или 2 - опубликованному или прошедшему модерацию"
            self.assertLessEqual(ware_cassandra['moderation_state'], 2, msg_error)
        # Первый товар преводим в статус АКТИВНЫЙ
        name_stock_state = 'PUBLISHED'
        stock_state = self.get_StockState(name_stock_state)
        services.warehouse.root.tframed.makePublication(list_good_id[0], stock_state)
        # Проверяем, что товар перешел в статус PUBLISHED
        ware_cassandra = databases.db0.warehouse.get_wares_by_ware_id(list_good_id[0])[0]
        self.assertEqual(ware_cassandra['stock_state'], stock_state, "Статус товара не равен 2 - активному товару")

        # Обновляем страницу магазина
        self.driver.refresh()
        HelpNavigateCheckMethods.progress(self.driver)
        time.sleep(self.time_sleep)
        # Получаем обновленный список товаров на странице магазина
        list_good_id_new_2 = self.get_good_id_from_page_source(self.driver, self.path_shop.TO_FIND_GOODS)
        msg_error = "Активный товар отсутствует в обновленном списке товаров на странице магазина"
        self.assertEqual(list_good_id_new_2.count(list_good_id[0]), 1, msg_error)
        str_good_new_2 = ''
        for good_id_new_2 in list_good_id_new_2:
            str_good_new_2 += "'" + good_id_new_2 + "'"
            str_good_new_2 += ", "
        wares_cassandra_2 = databases.db0.warehouse.get_wares_by_ware_ids(str_good_new_2[:-2])
        self.assertIsNotNone(wares_cassandra, "Из базы не были получены товары")
        for ware_cassandra in wares_cassandra_2:
            self.assertEqual(ware_cassandra['shop_id'], self.user["id"], "Id продавца не совпадает с shop_id")
            self.assertEqual(ware_cassandra['stock_state'], 2, "Статус товара не равен 2 - активному товару")
            msg_error = "Статус товара не равен 1 или 2 - опубликованному или прошедшему модерацию"
            self.assertLessEqual(ware_cassandra['moderation_state'], 2, msg_error)
开发者ID:Maksim1988,项目名称:test,代码行数:66,代码来源:test_catalog.py

示例9: test_smoke_user_work

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]

#.........这里部分代码省略.........
        self.check_menu_no_prod()

        # 2. Кликнуть на карточку любого товара на странице
        # выбираем первый товар в разделе "Одежда"
        num_element = 1
        clothing_ware_1 = MainPage.Path.BLOCK_CLOTHING % num_element
        obj_clothing_ware_1 = self.get_element_navigate(self.driver, clothing_ware_1)
        name_ware_from_main_page = obj_clothing_ware_1.text
        obj_clothing_ware_1.click()

        breadcrumb_list = self.get_breadcrumb_list(self.driver)  # запоминаем хлебные крошки
        # выковыриваем идентификатор товара из url и берем по нему и по продовцу инфу из БД
        name_ware = self.get_element_navigate(self.driver, GoodPage.Check.TITLE_WARE)
        ware_id = name_ware.parent.current_url.split('/')[-1]
        db_ware_data = databases.db1.warehouse.get_wares_by_ware_id(ware_id)
        data_user = databases.db1.accounting.get_data_user_by_id(db_ware_data[0]["shop_id"])
        name = self.driver.find_element_by_xpath(GoodPage.Check.USER_NAME_SELLER)
        button = self.driver.find_element_by_xpath(GoodPage.Click.BTN_CALL_SELLER2)
        # проверка имени продавца, названия товара, наличия
        self.assertEqual(data_user[0]["display_name"], name.text)
        self.assertEqual(len(db_ware_data), 1, u"Find several ware with one id.")
        self.assertEqual(name_ware_from_main_page, name_ware.text)
        self.assertEqual(len(breadcrumb_list), 3, u"Does not match the number of levels of categories.")
        self.assertTrue(button.is_displayed(), u"Button is not active.")

        # 3. Переходим на страницу авторизации
        self.do_login(self.driver)
        #self.click_to_phone(self.driver)
        self.check_page_authorization(self.driver)  # Проверка страница авторизации
        # вводим данные на авторизацию и авторизовываемся
        user_phone = self.data_auths[0]["phone"][1:]
        obj_phone, obj_password, obj_submit_button = self.get_data_authorization(self.driver)
        self.send_password(password_object=obj_password, password_number=self.default_passwd)
        self.send_phone(phone_object=obj_phone, phone_number=user_phone)
        self.submit_button(obj_submit_button, sleep=3)

        # 4. Выполнить поиск товара
        # Получаем инпут поиска, кнопку поиска с главной страницы, вводим данные и жмем кнопку поиска
        input_search = self.get_element_navigate(self.driver, self.input_main.SEARCH)
        btn_search = self.get_element_navigate(self.driver, self.click_main.BTN_SEARCH)
        input_search.send_keys(ware_for_search["name"].decode('utf-8'))
        btn_search.click()
        # Проверяем, что перешли в результаты поиска
        self.get_element_navigate(self.driver, self.check_search.TITLE_SEARCH)
        # Ищем на странице товар, заданный в поиске и переходим на страницу товара, проверяем урл страницы и название
        path_ware = self.click_search.LNK_GOOD_WITH_HREF % (ware_for_search["id"], ware_for_search["name"])
        ware_in_search = self.get_element_navigate(self.driver, path_ware)
        ware_in_search.click()
        self.check_url_ware(ware_for_search["id"], self.driver.current_url)
        obj_ware_title = self.get_element_navigate(self.driver, self.check_good.TITLE_GOOD)
        self.assertEqual(self.get_name(obj_ware_title), ware_for_search["name"])

        # 5. Связаться с продавцом
        data_good, good_str = HelpChatMethods.get_good_data(self.driver)
        button_call = self.driver.find_element_by_xpath(GoodPage.Click.BTN_CALL_SELLER2)
        button_call.click()
        dialog_window = self.driver.find_element_by_xpath(GoodPage.Check.POPUP_MESSAGE_TO_SELLER)
        button_answer = self.driver.find_element_by_xpath(GoodPage.Click.BTN_ANSWER_TO_SELLER)

        self.assertIsNotNone(dialog_window, "Not found dialog window for answer seller!")
        self.assertTrue(button_answer.is_displayed(), "Button is not active.")
        text = common_utils.random_string(length=50)
        link_popup = self.check_good.POPUP_MSG_FROM_GOOD % HelpChatMethods.TEXT_MSG_TO_GOOD
        popup_text = self.get_element_navigate(self.driver, link_popup)

        HelpProfileSettingsMethods.clear_input_row(self.driver, popup_text) # очищаем сообщение
        popup_text.send_keys(text)
        button_answer.click()
        time.sleep(3)
        button_go_to_chat = self.driver.find_element_by_xpath(GoodPage.Click.BTN_GO_TO_CHAT)
        button_go_to_good_page = self.driver.find_element_by_xpath(GoodPage.Click.BTN_GO_TO_GOOD_PAGE)
        self.assertTrue(button_go_to_chat.is_displayed(), "Button 'go to chat' is not active.")
        self.assertTrue(button_go_to_good_page.is_displayed(), "Button 'go to good page' is not active.")
        button_go_to_chat.click()

        # В чате с продавцом есть отправленное сообщение и карточка товара. Проверить соответствие текста и товара.
        last_msg = HelpChatMethods.get_last_msg(self.driver)
        msg_error1 = "Экспресс карточка='%s' не совпадает с последним сообщением='%s'" % (good_str, last_msg)
        self.assertIn(good_str, last_msg, msg_error1)
        str_msg_to_good = HelpChatMethods.TEXT_MSG_TO_GOOD.replace(' ', '')
        msg_error2 = "Сообщение о товаре='%s' не совпадает с последним сообщением='%s'" % (str_msg_to_good, last_msg)
        self.assertIn(text, last_msg, msg_error2)

        # 6. Добавить контакт в контакт-лист
        HelpUserContactsMethods.click_in_contact(self.driver, ware_for_search["store_id"])

        # переходим в избранное и удаляем пользователя
        self.get_page(self.driver, self.path_user_contact.URL_FAVORITES_USERS)
        data_user = databases.db1.accounting.get_data_user_by_id(ware_for_search["store_id"])
        HelpUserContactsMethods.delete_first_user_in_cl(self.driver, fav_user=data_user[0])

        # 7.  Выполнить Logout и выполнить проверку.
        self.driver.refresh()
        Navigate.progress(self.driver)
        self.logout(self.driver)
        logo_main_page = self.driver.find_element_by_xpath(self.LOGO_HEADER_PAGE)
        self.assertIsNotNone(logo_main_page, u"Not found logo in main page.")
        self.go_to_main_page(self.driver)
        self.check_header_widget_visitor(self.driver)
        self.check_menu_no_prod()
开发者ID:Maksim1988,项目名称:test,代码行数:104,代码来源:test_smoke_action_user.py

示例10: test_smoke_user_message

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
    def test_smoke_user_message(self):
        """
        Title: Тест сценарий отправки сообщения пользователем.
        Description: Предусловие:
            Перед тестом отправить (через api), пользователю под которым будет выполняться тест (Пользователь),
            два сообщения с текстом от разных контактов (Собеседник1 и Собеседник2)
            Есть два пользователя, от которых будет отправляться сообщения пользователю,
            под которым проходим тест (Собеседник 1 и Собеседник2)
            Существует пользователь зарегистрированный по e-mail - под ним будет выполняться тест (Пользователь).
        Шаги:
            1) Авторизоваться Пользователем через e-mail
                - Проверить, что отображается главная страница
                - Проверить наличие иконки 2х непрочитанных сообщений
            2) Перейти в "Сообщения":
                - Проверяем, что находимся на странице Сообщения с пользователем из предусловия,
                    который последним отправил сообщение (Собеседник2)
                - Проверяем, что в области переписки есть это сообщение и имя пользователя сообщения
                Проверяем, что счетчик непрочитанных сообщений в шапке, уменьшился на 1
                Проверяем, что в карточке с Собеседником2 нет иконки непрочитанных сообщений
                Проверяем, что  есть иконка 1 непрочитанного сообщения в карточке пользователя,
                    который первым отправлял сообщение (Собеседник1)
            3) Перейти на карточку Собеседника1
                Проверяем, что находимся на странице Сообщения с (Собеседник1)
                Проверяем, что в области переписки есть это сообщение  и имя пользователя сообщения
                Проверяем, что счетчик непрочитанных сообщений в шапке, исчез
                Проверяем, что в карточке с Собеседником1 нет иконки непрочитанных сообщений
                Проверяем, что  среди контактов нет иконок непрочитанных сообщений
            4) Написать сообщение Собеседнику1 и отправить
                Проверить, что сообщение отображается в области переписки, есть две галочки (сообщение пришло на сервер)
                Удостовериться что сообщение пришло на сервер.
            5) Выйти из аккаунта, со страницы "Сообщения"
                Проверить, что отображается страница Вход по электронная почта
        """
        service_log.run(self)

        # 1) Авторизоваться Пользователем через e-mail и проверить успешность операции.
        self.go_to_main_page(self.driver)
        self.click_reg_and_auth(self.driver)
        self.click_tab_login(self.driver)
        auth_form = self.get_auth_email_form(self.driver)
        auth_form["email_input"].send_keys(self.owner['email'])
        auth_form["password_input"].send_keys(self.default_passwd)
        self.element_click(self.driver, auth_form["login_btn"])
        self.check_header_widget_seller(self.driver, self.owner["id"])

        # Проверка количества новых сообщений в мессенждере
        msg_error1 = u"The message counter is not increased by %s" % self.new_messages
        msg_error2 = u"The message counter is decreased by 1"

        result = self.get_element_navigate(self.driver, self.check_main.ALL_NUMERATE_MSG)
        self.assertEqual(int(self.unread_message) + int(self.new_messages), int(result.text), msg_error1)

        # 2) Перейти в "Сообщения"
        self.driver.refresh()
        Navigate.progress(self.driver)
        obj_msgs = self.get_element_navigate(self.driver, self.check_main.ABSTRACT_MSG)
        obj_msgs.click()
        time.sleep(3)
        last_msg_for_user2 = self.get_last_msg2(self.driver)
        info_msg = last_msg_for_user2.split("\n")
        self.assertEqual(self.message2, info_msg[2], u"Not found message %s" % self.message2)
        #self.assertEqual(self.unread_message + (self.new_messages-1), int(result.text), msg_error2) # TODO
        self.assertEqual(self.user2['display_name'], info_msg[1], "Not found user2 %s" % self.user2['display_name'])

        # Warning: пользователи в чате нумеруются с нуля
        obj_counter_msgs_user2 = self.element_is_none(self.driver, self.check_main.COUNTER_MSG_USER % 0)
        obj_counter_msgs_user1 = self.get_element_navigate(self.driver, self.check_main.COUNTER_MSG_USER % 1)
        self.assertGreaterEqual(int(obj_counter_msgs_user1.text), 1)
        self.assertIsNone(obj_counter_msgs_user2)

        # 3) Перейти на карточку Собеседника1
        obj_counter_msgs_user1.click()
        time.sleep(3)
        last_msg_for_user1 = self.get_last_msg2(self.driver)
        info_msg = last_msg_for_user1.split("\n")
        self.assertEqual(self.message1, info_msg[2], u"Not found message %s" % self.message2)
        #self.assertEqual(self.unread_message, int(result.text), msg_error2) # TODO
        self.assertEqual(self.user1['display_name'], info_msg[1], u"Not found user2 %s" % self.user1['display_name'])

        obj_counter_msgs_user1 = self.element_is_none(self.driver, self.check_main.COUNTER_MSG_USER % 0)
        obj_counter_msgs_user2 = self.element_is_none(self.driver, self.check_main.COUNTER_MSG_USER % 1)
        self.assertIsNone(obj_counter_msgs_user1)
        self.assertIsNone(obj_counter_msgs_user2)

        # 4) Написать сообщение Собеседнику1 и отправить
        obj_area_text = self.get_element_navigate(self.driver, self.check_main.AREA_FOR_SEND_MSG)
        message_answer = "Autotests answer %s" % int(random.randint(10, 10000000))
        obj_area_text.send_keys(message_answer)
        obj_area_text = self.get_element_navigate(self.driver, self.click_chat.BTN_ANSWER)
        obj_area_text.click()
        time.sleep(3)
        last_msg_for_owner = self.get_last_msg2(self.driver)
        info_msg = last_msg_for_owner.split("\n")
        self.assertEqual(message_answer, info_msg[2], u"Not found message %s" % self.message2)
        self.assertEqual(self.owner['display_name'], info_msg[1], u"Not found owner %s" % self.owner['display_name'])

        # 5) Выйти из аккаунта, со страницы "Сообщения"
        self.driver.refresh()
        Navigate.progress(self.driver)
        self.logout(self.driver)
#.........这里部分代码省略.........
开发者ID:Maksim1988,项目名称:test,代码行数:103,代码来源:test_smoke_action_user.py

示例11: test_add_good_in_deal_to_favorite_remove

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
    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)
开发者ID:Maksim1988,项目名称:test,代码行数:81,代码来源:test_favorite_page.py

示例12: test_add_good_to_favorite_remove

# 需要导入模块: from tests.front_office.not_sorted.classes.class_navigate import HelpNavigateCheckMethods [as 别名]
# 或者: from tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods import progress [as 别名]
    def test_add_good_to_favorite_remove(self, test_data=HelpNavigateData.CATALOG_TO_GOOD):
        """
        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, 5, 1)
        # Переходим на все товары рандомной рутовой категории
        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_add_to_favorite = self.element_is_present(self.driver, self.click_good.ADD_FAVORITE, wait=10)
        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("Проверяем наличие товара в избранном и переходим на страницу товара")
        good_name_lnk = self.get_element_navigate(self.driver, self.click_favorite.GOOD_NAME_BY_ID % good_id)
        good_name_lnk.click()
        # Удаляем из избранного
        service_log.put("Удаляем из избранного")
        del_favorite = self.get_element_navigate(self.driver, self.click_good.DEL_FAVORITE)
        del_favorite.click()
        # Проверяем, что кнопка изменилась на добавить в избранное
        service_log.put("Проверяем, что кнопка изменилась на добавить в избранное")
        self.get_element_navigate(self.driver, self.click_good.ADD_FAVORITE)
        # Переходим в избранные товары
        service_log.put("Переходим в избранные товары")
        self.get_page(self.driver, self.path_favorites.URL_FAVORITES_GOODS)
        test_good = dict(
            xpath=(self.click_favorite.GOOD_NAME_BY_ID_AND_TITLE % (good_name, good_id)),
            err_msg="Товар остался в списке избранного после удаления",
        )
        # Проверяем, что в избранном нет этого товара
        self.check_no_such_element(self.driver, test_good)
开发者ID:Maksim1988,项目名称:test,代码行数:64,代码来源:test_favorite_page.py


注:本文中的tests.front_office.not_sorted.classes.class_navigate.HelpNavigateCheckMethods.progress方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。