コード例 #1
0
 def set_user_to_contacts(driver, link_db, current_count, need_count=20, mode='all'):
     """
     Наполнить список контактов пользователями
     :param driver:
     :return:
     """
     user_added = list()
     count_add_users = 0
     fail = 0
     service_log.put("Start filling the contact list")
     diff_count = need_count-current_count
     if diff_count <= 0:
         service_log.put("Contact list is full!")
     else:
         users_list = HelpUserContactsMethods.add_users_strategy(link_db, mode)
         random.shuffle(users_list)
         for user in users_list:
             result = HelpUserContactsMethods.click_in_contact(driver, user["account_details_id"])
             if result is True:
                 count_add_users += 1
                 user_added.append(user["account_details_id"])
                 service_log.put("Add user='******' to contact list" % user["account_details_id"])
             else:
                 fail += 1
                 assert fail == 50, "Пользователи не добавляются."
             if diff_count == count_add_users:
                 service_log.put("End filling the contact list")
                 Navigate.get_page(driver, Navigate.path_user_contact.URL_FAVORITES_USERS)
                 break
     return user_added
コード例 #2
0
ファイル: class_auth.py プロジェクト: Maksim1988/test
 def get_back_page(driver, env_back_url=MainClass.ENV_BASE_BACK_URL, path_back=''):
     """
     Перход на страницу бек-офиса по path
     :param driver:
     :param env_back_url:
     :param path_back:
     :return:
     """
     HNCK.get_page(driver=driver, path_url=path_back, env_base_url=env_back_url)
コード例 #3
0
ファイル: class_main_menu.py プロジェクト: Maksim1988/test
 def get_page_with_param(driver, url_path, param):
     """
     Выполнить переход на страницу по урлу с параметром (например подставить идентификатор магазина)
     :param driver:
     :param url_path:
     :param param:
     :return:
     """
     url = url_path + param
     Navigate.get_page(driver, url)
コード例 #4
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)
コード例 #5
0
 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()
コード例 #6
0
 def click_in_contact(driver, user_id):
     """ Нажимаем кнопку в контакты.
     :param driver: ссылка на драйвер
     :param user_id: идентификатор пользователя
     :return: type(bool)
     """
     result = False
     try:
         Navigate.get_page(driver, Navigate.path_buyer.URL_BUYER % user_id)
         in_contact = Navigate.click_user_contact.IN_CONTACT_USER
         btn = Navigate.get_element_navigate(driver, in_contact, sleep=0.1, mode=None)
         HelpAuthCheckMethods.click_button(btn, sleep=0.1)
         result = True
     except Exception:
         result = False
     return result
コード例 #7
0
 def delete_user_in_contacts(driver, link_db, user_id):
     """
     Удалить пользователей из списка контактов
     :param driver:
     :param count:
     :return:
     """
     Navigate.get_page(driver, Navigate.path_user_contact.URL_FAVORITES_USERS)
     fav_users_list = link_db.accounting.get_fav_user_by_user_id(user_id)
     l = lambda l: list() if l is None else l
     count = len(l(fav_users_list))
     while count != 0:
         btn_user = Navigate.get_element_navigate(driver, Navigate.click_user_contact.LAST_USER, sleep=1)
         HelpAuthCheckMethods.click_button(btn_user, sleep=0.1)
         btn_delete = Navigate.get_element_navigate(driver, Navigate.click_user_contact.BTN_DELETE, sleep=0.1)
         HelpAuthCheckMethods.click_button(btn_delete, sleep=1)
         fav_users_list = link_db.accounting.get_fav_user_by_user_id(user_id)
         count = len(l(fav_users_list))
コード例 #8
0
ファイル: class_main_menu.py プロジェクト: Maksim1988/test
 def check_main_menu_to_url(self, driver, link_map, role, param=None):
     """
     Проверка наличия меню на страницах сайта путем перехода по урлу
     :param driver:
     :param role:
     :return:
     """
     service_log.put("Checking role -> '%s'" % role)
     menu = lambda x, d, m: Navigate.get_element_navigate(d, m) if x is True else Navigate.element_is_none(d, m)
     url = lambda par, sm, p: sm[p] if par is None else sm[p] % par[p]
     page_map = link_map[role]
     for page in page_map:
         service_log.put("Checking...['%s']" % page)
         source = driver.page_source
         url_page = url(param, self.SITE_MAP, page)
         Navigate.get_page(driver, url_page)
         source_new = driver.page_source
         err_msg = "Переход по урлу='%s' не произошел, содержимое страницы не изменилось"
         self.assertNotEqual(source, source_new, err_msg % url)
         menu(page_map[page], driver, self.xpath_menu)
         service_log.put("PASS...['%s']" % page)
     service_log.put("Checked role -> '%s'" % role)
コード例 #9
0
 def setUp(cls):
     # Подготовка работы с selenium
     cls.driver = cls.get_driver()
     Navigate.get_page(cls.driver, Navigate.path_reg.URL_REG)
     cls.click_to_phone(cls.driver)
     service_log.preparing_env(cls)