Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from selenium import webdriver
- from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- from selenium.common.exceptions import WebDriverException,NoSuchElementException
- import logging
- import time
- import inspect
- ADMIN_CREDS = ['admin', 'admin']
- userdata = {}
- userdata = {'username':'###########',
- 'email':'###########@mail.ru',
- 'first_name':'George',
- 'last_name':'Bush',
- 'second_name':'Middlest',
- 'password':'1QAZ2wsx',
- 'is_staff':False,
- 'is_superuser':False,
- 'is_active':True }
- sellerdata = {'username':'############',
- 'email':'#########_1111@mail.ru',
- 'first_name':'Seller',
- 'last_name':'Numero',
- 'second_name':'Uno',
- 'password':'1QAZ2wsx',
- 'inn': '01234564563',
- 'phone': '89161234567',
- 'is_staff':False,
- 'is_superuser':False,
- 'is_active':True }
- #DOMAIN = 'http://###############/'
- def login_to_admin(login, password):
- go("/admin/")
- wait(.3)
- #log(is_logined_as_admin())
- by_name("username").clear()
- by_name("username").send_keys(login)
- by_name("password").clear()
- by_name("password").send_keys(password)
- by_xpath("/html/body/div[1]/div/div/div/div[2]/form/a").click()
- h3_title = by_xpath('/html/body/div[4]/div[1]/div/div/div/h3').text
- assert 'Панель управления' in h3_title
- log('"%s" passed OK \n' % inspect.getframeinfo(inspect.currentframe())[2])
- def unlogin_from_admin():
- go("/admin/")
- check_title('Панель управления - SpicyCMS')
- wait(2)
- elem = by_xpath("//span[contains(text(),'admin')]")
- elem.click()
- by_xpath("//li[5]/a/span").click()
- good_bye_text = by_xpath("/html/body/div[1]/div/div/div/div[1]/span").text
- assert 'До свидания' in good_bye_text
- log('"%s" passed OK' % inspect.getframeinfo(inspect.currentframe())[2])
- def register_buyer(userdata):
- username = userdata['username']
- password = userdata['password']
- go("/")
- by_xpath("//div[3]/div/div[2]/button").click()
- wait(.3)
- by_name("email").clear()
- by_name("email").send_keys(username)
- by_css("#signupForm > div.form-group > input[name=\"password\"]").clear()
- by_css("#signupForm > div.form-group > input[name=\"password\"]").send_keys(password)
- by_id("offer").click()
- by_id("signupBtn").click()
- # ТУТ НУЖНО АКТИВИРОВАТЬ УЧЕТКУ
- def register_seller(sellerdata):
- go('/')
- location_modal_yes()
- scr('sellerreg_1')
- wait(.3)
- by_class_name("vendor-reg-btn").click()
- try:
- element = WebDriverWait(driver, 10).until(
- EC.visibility_of_element_located((By.NAME, "inn"))
- )
- element.click()
- #page_source(200000)
- except NoSuchElementException:
- log('Element Not Found')
- driver.quit()
- wait(.3)
- by_name("inn").click()
- by_name("inn").clear()
- by_name("inn").send_keys(sellerdata['inn'])
- wait(.1)
- by_name("phone").clear()
- by_name("phone").send_keys(sellerdata['phone'])
- wait(.1)
- by_xpath('//*[@id="signupForm2"]/div[6]/input').clear()
- by_xpath('//*[@id="signupForm2"]/div[6]/input').send_keys(sellerdata['email'])
- wait(.1)
- by_xpath('//*[@id="signupForm2"]/div[8]/input[1]').clear()
- by_xpath('//*[@id="signupForm2"]/div[8]/input[1]').send_keys(sellerdata['password'])
- wait(.1)
- by_id("offer2").click()
- by_id("signupBtn2").click()
- scr('sellerreg_2')
- log('"%s" passed OK' % inspect.getframeinfo(inspect.currentframe())[2])
- def menu_users():
- by_link_text(u"Все пользователи").click()
- def menu_all_profiles():
- by_link_text(u"Все профили").click()
- def find_user(username):
- menu_users()
- menu_all_profiles()
- by_id("id_search_text").clear()
- by_id("id_search_text").send_keys(username)
- by_css("button.btn.btn-blue").click()
- assert username in driver.find_element_by_link_text(username).text
- by_link_text(username).click()
- def location_modal_yes():
- wait(1.1)
- try:
- by_class_name('head-navbar__user-location')
- by_class_name('user-location__yes').click() # Ваш город - Да
- log('modal window Location found, clicked YES')
- except:
- log('modal window Location NOT found')
- def location_modal_no():
- wait(1.1)
- try:
- by_class_name('head-navbar__user-location')
- by_class_name('user-location__no').click() # Ваш город - Да
- log('modal window Location found, clicked YES')
- except:
- log('modal window Location NOT found')
- def login_activated_buyer(userdata):
- go('/')
- wait(2)
- scr('prelogin')
- location_modal_yes()
- # wait(.5)
- by_xpath('//*[@id="navigation"]/ul/li[4]/button').click()
- try:
- element = WebDriverWait(driver, 10).until(
- EC.visibility_of_element_located((By.NAME, "username"))
- )
- element.click()
- #page_source(200000)
- except NoSuchElementException:
- log('Element Not Found')
- driver.quit()
- by_name("username").clear()
- by_name("username").send_keys(userdata['username'])
- by_name("password").clear()
- by_name("password").send_keys(userdata['password'])
- by_id('loginBtn').click()
- wait(.2)
- user_greeting = by_xpath('//*[@id="navigation"]/ul/li[3]/a').text
- log(user_greeting)
- assert 'Пользователь' in user_greeting
- log('"%s" passed OK \n' % inspect.getframeinfo(inspect.currentframe())[2])
- def register_user_from_admin(userdata):
- username = userdata['username']
- email = userdata['email']
- first_name = userdata['first_name']
- last_name = userdata['last_name']
- second_name = userdata['second_name']
- password = userdata['password']
- is_staff = userdata['is_staff']
- is_superuser = userdata['is_superuser']
- is_active = userdata['is_active']
- login_to_admin(ADMIN_CREDS[0],ADMIN_CREDS[1])
- menu_users()
- by_link_text(u"Создать профайл").click()
- wait(.1)
- by_name('username').clear()
- by_name('username').send_keys(username)
- wait(.1)
- by_name('email').clear()
- by_name('email').send_keys(email)
- wait(.1)
- by_name('first_name').clear()
- by_name('first_name').send_keys(first_name)
- wait(.1)
- by_name('last_name').clear()
- by_name('last_name').send_keys(last_name)
- wait(.1)
- by_name('second_name').clear()
- by_name('second_name').send_keys(second_name)
- wait(.1)
- by_name('password1').clear()
- by_name('password1').send_keys(password)
- wait(.1)
- by_name('password2').clear()
- by_name('password2').send_keys(password)
- wait(.1)
- if is_staff:
- by_xpath('/html/body/div[4]/div[2]/div/div/div/div[2]/form/div[1]/div[1]/ul/li[5]/div[1]/ins').click()
- if is_superuser:
- by_xpath('/html/body/div[4]/div[2]/div/div/div/div[2]/form/div[1]/div[1]/ul/li[6]/div[1]/ins').click()
- if not is_active:
- by_xpath('/html/body/div[4]/div[2]/div/div/div/div[2]/form/div[1]/div[1]/ul/li[7]/div[1]/ins').click()
- wait(.1)
- scr('reg')
- # by_xpath('/html/body/div[4]/div[2]/div/div/div/div[2]/form/div[2]/button').click() # кнопка "Создать"
- def registered_user_deletion(username):
- login_to_admin(ADMIN_CREDS[0],ADMIN_CREDS[1])
- find_user(username)
- by_link_text(u"Удалить").click()
- by_name("confirm").click()
- by_css("ins").click()
- by_css("ins").click()
- by_css("button.btn.btn-red").click()
- scr('deletion')
- # ДОБАВИТЬ АССЕРТ
- def activate_user(username):
- login_to_admin(ADMIN_CREDS[0],ADMIN_CREDS[1])
- find_user(username)
- wait(1)
- by_xpath('//*[@id="profileForm"]/div[1]/div[1]/ul/li[10]/div[1]/ins').click()
- save_user()
- def save_user():
- by_xpath('//*[@id="saveProfileBtn"]').click()
- def page_source(length=4000):
- log(driver.page_source[:length])
- def curr_select():
- login_to_admin(ADMIN_CREDS[0],ADMIN_CREDS[1])
- wait(.2)
- go('/')
- wait(.2)
- user_greeting = by_xpath('//*[@id="navigation"]/ul/li[3]/a').text
- log(user_greeting)
- assert 'Администратор' in user_greeting # check userlogged as admin
- wait(.1)
- location_modal_yes()
- wait(.1)
- by_xpath('//*[@id="navigation"]/ul/li[3]/a').click()
- wait(.5)
- scr('index_admin')
- by_xpath('//*[@id="navigation"]/ul/li[3]/ul/li[4]/a').click()
- wait(.5)
- scr('index_admin2')
- def check_title(title):
- log('PAGE TITLE = ' + driver.title + '\n')
- assert title in driver.title
- def suite_registration():
- register_buyer(userdata)
- activate_user(userdata['username'])
- registered_user_deletion(userdata['username'])
- register_seller(sellerdata)
- activate_user(sellerdata['username'])
- register_user_from_admin(userdata)
- login_activated_buyer(userdata)
- registered_user_deletion(userdata['username'])
- def suite_product_placement():
- pass
- def main():
- curr_select()
- if __name__ == '__main__':
- logging.root.setLevel(logging.INFO)
- logging.root.addHandler(logging.StreamHandler())
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement