Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.webdriver.support.ui import Select
- import pytest
- import json
- import time
- import requests
- link = "https://*****.com/"
- @pytest.fixture(scope='class')
- def browser():
- driver = webdriver.Chrome()
- driver.set_window_size(2000, 1200) #Изменяем размер окна до 2000*1200 пикселей
- driver.get(link)
- driver.implicitly_wait(25)
- yield driver
- print('teardown')
- driver.quit()
- @pytest.yield_fixture(scope='function')
- def clean_cart(self, browser):
- yield
- print('yield')
- browser.get('https://*****.com/ru/cabinet/') #Возвращаемся в ЛК
- #Открываем окно магазина
- time.sleep(5.0) #ждём загрузки страницы
- store = browser.find_element_by_css_selector('[data-test="widget__button-store"]')#ищем кнопку "магазин"
- browser.execute_script("return arguments[0].scrollIntoView(true);", store) #Скроллим страницу до кнопки "магазин"
- store.click()
- browser.find_element_by_css_selector('[data-test="sidebar__button-REVIEW"]') #Проверяем, что магазин загружен (ищем раздел "Обзор")
- try:
- remove = browser.find_elements_by_css_selector('[data-test="cart__item-remove"]') #Ищем все иконки удалить в корзине
- #Удаляем все товары из корзины
- for delete in remove:
- delete.click() #Кликаем на каждую иокнку удалить
- time.sleep(1.0)
- except:
- pass
- finally:
- browser.find_element_by_css_selector('[data-test="button-close"]').click() #Находим иконку "Закрыть" и кликаем на нее
- class TestGlobal():
- def enter_on_start(self, browser): #Логинимся
- browser.get(link)
- #Выполняем вход в аккаунт
- browser.find_element_by_css_selector('[data-template="#login_box"]').click() #ищем кнопку "Войти" и кликаем на неё
- browser.login = browser.find_element_by_id('login_mail')
- browser.login.send_keys('@gmail.com')
- browser.password = browser.find_element_by_id('login_pass')
- browser.password.send_keys('*****')
- browser.find_element_by_id('agreementSocial').click()
- browser.find_element_by_id('login_submit').click()
- def enter_on_pro_plus(browser): #Логинимся в *****.com пользователь с ТП Про+
- browser.get(link)
- #Выполняем вход в аккаунт
- browser.find_element_by_css_selector('[data-template="#login_box"]').click() #ищем кнопку "Войти"
- browser.login = browser.find_element_by_id('login_mail')
- browser.login.send_keys('@*****.com')
- browser.password = browser.find_element_by_id('login_pass')
- browser.password.send_keys('******')
- browser.find_element_by_id('agreementSocial').click()
- browser.find_element_by_id('login_submit').click()
- def open_store(self, browser): #Функция открывает магазин
- time.sleep(5.0) #ждём загрузки страницы
- store = browser.find_element_by_css_selector('[data-test="widget__button-store"]')#ищем кнопку "магазин"
- browser.execute_script("return arguments[0].scrollIntoView(true);", browser.store) #Скроллим страницу до кнопки "магазин"
- browser.store.click()
- browser.find_element_by_css_selector('[data-test="sidebar__button-REVIEW"]') #Проверяем, что магазин загружен (ищем раздел "Обзор")
- def close_store(self, browser): #Функция будет закрывать магазин
- browser.find_element_by_css_selector('[data-test="button-close"]').click() #Находим иконку "Закрыть" и кликаем на нее
- def delete_all(self, browser): #Функция отеняет оплату, удаляет все товары из корзины и закрывает магазин
- browser.get('https://*****.com/ru/cabinet/') #Возвращаемся в ЛК
- open_store() #Открываем окно магазина
- browser.goods = browser.find_elements_by_css_selector('[data-test="cart__item-remove"]') #Ищем все иконки удалить в корзине
- #Удаляем все товары из корзины
- for browser.good in browser.goods:
- browser.good.click() #Кликаем на каждую иокнку удалить
- time.sleep(1.0)
- close_store()
- def logout(self, browser): #Функция осуществляет выход из аккаунта
- browser.avatar = browser.find_element_by_css_selector('[data-test="widget__button-user"]')
- browser.execute_script("return arguments[0].scrollIntoView(true);", browser.avatar) #Скроллим страницу так, чтобы был виден аватар профиля
- browser.avatar.click() #клик на аватар профиля
- browser.escape = browser.find_element_by_xpath('//button[contains(text(), "Выход")]')
- browser.execute_script("return arguments[0].scrollIntoView(true);", browser.escape) #Скроллим страницу так, чтобы была видна кнопка "Выйти"
- time.sleep(2.0)
- browser.escape.click() #Выходим из аккаунта
- time.sleep(2.0)
- #@pytest.mark.skip
- def user_in_team_creator_team_general_test(self, browser):
- enter_on_pro_plus() #логинимся с ТП Про+
- browser.avatar = browser.find_element_by_css_selector('[data-test="widget__button-user"]')
- browser.execute_script("return arguments[0].scrollIntoView(true);", browser.avatar) #Скроллим страницу так, чтобы был виден аватар профиля
- browser.avatar.click() #клик на аватар профиля
- time.sleep(10.0)
- browser.enter_to_team = browser.find_element_by_xpath('//div[contains(text(), "тест")]') #Ищем команду "тест"
- browser.enter_to_team.click() #клик на команду)
- #browser.enter_to_team.click() #клик на команду
- time.sleep(15.0)
- open_store()
- #Проверяем, что в меню есть вкладки Обзор, пакеты, Planoplan Cloud, тарифы
- browser.review = browser.find_element_by_css_selector('[data-test="sidebar__button-REVIEW"]')
- browser.packages = browser.find_element_by_css_selector('[data-test="sidebar__button-PACKAGES"]')
- browser.cloud = browser.find_element_by_css_selector('[data-test="sidebar__button-CLOUD"]')
- browser.pricing = browser.find_element_by_css_selector('[data-test="sidebar__button-PRICING"]')
- #Проверяем, что в разделе "Обзор" отображается 1 баннер и 3 товара
- browser.find_element_by_css_selector('[data-test="banner-0"]')
- browser.find_element_by_css_selector('[data-test="card_overview-0"]')
- browser.find_element_by_css_selector('[data-test="card_overview-1"]')
- browser.find_element_by_css_selector('[data-test="card_overview-2"]')
- #Проверяем, что раздел "Пакеты" не пустой
- browser.packages.click() #Переходим в раздел "Пакеты"
- browser.find_element_by_css_selector('[data-test="card_products-0"]')
- browser.last = browser.find_element_by_css_selector('[data-test="card_products-21"]')
- browser.execute_script("return arguments[0].scrollIntoView(true);", browser.last) #Скроллим страницу так, чтобы была видна карточка последнего товара
- browser.find_element_by_css_selector('[alt="200 Улучшенных VR-панорам"]')
- #Проверяем, что раздел "Planoplan cloud" не пустой
- browser.cloud.click() #Переходим в раздел "Planoplan Cloud"
- browser.find_element_by_css_selector('[data-test="cloud__button-0"]')
- browser.find_element_by_css_selector('[data-test="cloud__button-1"]')
- browser.find_element_by_css_selector('[data-test="cloud__button-2"]')
- browser.find_element_by_css_selector('[data-test="cloud__button-3"]')
- #Проверяем, что раздел "Тарифы" не пустой
- browser.pricing.click() #Переходим в раздел "Тарифы"
- browser.find_element_by_css_selector('[data-test="pricing-businessvr"] [data-test="pricing__current"]')
- browser.find_element_by_css_selector('[data-test="pricing-pro"] [data-test="pricing__button-upgrade"]')
- browser.find_element_by_css_selector('[data-test="pricing-pro"] [data-test="pricing__button-more"]')
- browser.find_element_by_css_selector('[data-test="pricing-proplus"] [data-test="pricing__button-upgrade"]')
- browser.find_element_by_css_selector('[data-test="pricing-proplus"] [data-test="pricing__button-more"]')
- browser.find_element_by_xpath('//li[contains(text(), "25%")]')
- browser.find_element_by_xpath('//li[contains(text(), "50%")]')
- browser.find_element_by_xpath('//li[contains(text(), "60%")]')
- close_store()
- logout()
- def test_go_to_tab_vidget(self, browser):
- enter_on_start()
- open_store()
- browser.find_element_by_css_selector('[data-test="sidebar__button-WIDGET"]').click()
- browser.find_element_by_css_selector('[src="https://files.*****.com/upload/projects/images/8d6.jpg"]')
- browser.find_element_by_css_selector('[data-test="widget__go-over"]').click() #Ищем кнопку "Перейти" и кликаем на нее
- browser.new_window = browser.window_handles[1] #Второй открытой вкладке (после клика на "Перейти" открывается новая вкладка) присваиваем имя "new_window"
- browser.window = browser.window_handles[0]
- browser.switch_to.window(browser.new_window) #Переходим на вторую вкладку
- browser.find_element_by_class_name('header__Back-sc-1ws5ve8-2.ikSpXv')
- browser.close()
- browser.switch_to.window(browser.window)
- close_store()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement