def test_sign_up_empty_pp_checkbox(app): with pytest.allure.step("If user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: app.registration.sign_up( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******" + str(random), password="******", captcha="1111", promo_code="")) # Turn off PP check box app.driver.find_element_by_xpath( "//div[@id='registration']//div[@class='modala__agreement_wrapper']//span[@class='checkbox__box']" ).click() # Error message for PP captcha with pytest.allure.step("Error message for PP captcha"): assert app.warning.get_outer_text( "//div[@id='registration']//div[6]//span[@class='modala__error']" ) == "Поле обязательно для заполнения" # Border for PP check box field with pytest.allure.step("Border for PP checkbox"): assert app.warning.get_border_color( "//*[@id='registration']//div[6]/div") == "rgba(187, 37, 37, 1)"
def test_sign_up_with_promo(app): random = randrange(1000000000) with pytest.allure.step("Log out if user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: with pytest.allure.step( "Signup with password only special symbols"): app.registration.sign_up_happy_pass( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******" + str(random), password="******", promo_code="testdd", captcha="1111")) with pytest.allure.step("Assert for text about email"): assert app.warning.get_outer_text( app.selectors.event_message ) == app.text.registration_event_message_ru with pytest.allure.step( "Enter to admin and click to registration link"): app.admin.registration_with_approve() with pytest.allure.step("Assert that user is approved "): assert app.warning.get_outer_text( app.selectors.event_message ) == app.text.approve_registration_message_ru with pytest.allure.step("Assert that verify pop-up is opened"): assert app.warning.get_outer_text( app.selectors.h4_promo_pop_up) == app.text.h4_promo_title_ru assert app.warning.get_outer_text( app.selectors.text_promo_pop_up) == app.text.text_promo_pop_up
def test_sign_up_empty(app): with pytest.allure.step("If user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: app.registration.sign_up( SignupCred(email="", username="", password="", captcha="", promo_code="")) with pytest.allure.step("Turn off PP captcha"): app.driver.find_element_by_xpath( "//div[@id='registration']//div[@class='modala__agreement_wrapper']//span[@class='checkbox__box']" ).click() time.sleep(0.5) with pytest.allure.step("Check empty email field error"): assert app.warning.get_outer_text( "//div[@id='registration']//span[@class='modala__error' and @data-validation-field = 'email'][1]" ) == "Поле обязательно для заполнения" with pytest.allure.step("Check empty nickname field error"): assert app.warning.get_outer_text( "//form[@action='/profile/create/']/div[2]/span[3]" ) == "Поле обязательно для заполнения" with pytest.allure.step("Check empty password field error"): assert app.warning.get_outer_text( "//div[@id='registration']//span[@class='modala__error' and @data-validation-field = 'password'][1]" ) == "Поле обязательно для заполнения" with pytest.allure.step("Error message for PP captcha"): assert app.warning.get_outer_text( "//div[@id='registration']//div[6]//span[@class='modala__error']" ) == "Поле обязательно для заполнения" with pytest.allure.step("Error message for captcha field"): assert app.warning.get_outer_text( "//div[@class='modala-captcha__wrapper']/span[1]" ) == "Поле обязательно для заполнения" with pytest.allure.step("Border for email field"): assert app.warning.get_border_color( "//input[@name='email']") == "rgba(187, 37, 37, 1)" with pytest.allure.step("Border for nickname field"): assert app.warning.get_border_color( "//input[@name='nick']") == "rgba(187, 37, 37, 1)" with pytest.allure.step("Border for password field"): assert app.warning.get_border_color( "//div[@id='registration']//input[@name='password'][2]" ) == "rgba(187, 37, 37, 1)" with pytest.allure.step("Border for PP check box field"): assert app.warning.get_border_color( "//*[@id='registration']//div[6]/div") == "rgba(187, 37, 37, 1)" with pytest.allure.step("Border for captcha field"): assert app.warning.get_border_color( "//div[@id='registration']//input[@name='captcha']" ) == "rgba(187, 37, 37, 1)"
def test_sign_up_password_number(app): random = randrange(1000000000) with pytest.allure.step("Log out if user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: with pytest.allure.step("Signup with password only number"): app.registration.sign_up_happy_pass( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******" + str(random), password="******", captcha="1111", promo_code="")) with pytest.allure.step("Assert for text about email"): assert app.warning.get_outer_text( app.selectors.event_message ) == app.text.registration_event_message_ru
def test_signup_exist_nick(app): with pytest.allure.step("If user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: app.registration.sign_up( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******", password="******", captcha="1111", promo_code="")) # Error message for NickName field with pytest.allure.step("Error with exist nickname for nickname field"): assert app.warning.get_outer_text( "//div[@id='registration']//span[@class='modala__error' and @data-validation-field = 'login'][4]" ) == "Этот логин уже занят" # Border for nickname field with pytest.allure.step("Border for nickname field"): assert app.warning.get_border_color( "//input[@name='nick']") == "rgba(187, 37, 37, 1)"
def test_sign_up_captcha(app): with pytest.allure.step("If user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: app.registration.sign_up( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******" + str(random), password="******", captcha="", promo_code="")) # Error message for captcha field with pytest.allure.step("Check empty captcha field error"): assert app.warning.get_outer_text( "//div[@id='registration']//div[@class='modala-captcha__wrapper']/span[1]" ) == "Поле обязательно для заполнения" # Border for captcha field with pytest.allure.step("Border for captcha field"): assert app.warning.get_border_color( "//div[@id='registration']//input[@name='captcha']" ) == "rgba(187, 37, 37, 1)"
def test_signup_with_exist_email(app): with pytest.allure.step("If user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: app.registration.sign_up( SignupCred(email="*****@*****.**", username="******" + str(random), password="******", captcha="1111", promo_code="")) time.sleep(0.1) # Error message for email field with pytest.allure.step("Error for exist email near email field"): assert app.warning.get_outer_text( "//div[@id='registration']//span[@class='modala__error' and @data-validation-field = 'email'][3]" ) == "Этот email уже зарегистрирован" # Border for email field with pytest.allure.step("Border for email field"): assert app.warning.get_border_color( "//input[@name='email']") == "rgba(187, 37, 37, 1)"
def test_sign_up_nick_with_special(app): random = randrange(1000000000) with pytest.allure.step("If user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: app.registration.sign_up( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******" + str(random), password="******", captcha="1111", promo_code="")) # Error message for NickName field with pytest.allure.step( "Error with incorrect nickname for nickname field"): assert app.warning.get_outer_text( "//div[@id='registration']//span[@class='modala__error' and @data-validation-field = 'login'][3]" ) == "Разрешены только a-z, 0-9 и _ символы" # Border for nickname field with pytest.allure.step("Border for nickname field"): assert app.warning.get_border_color( "//input[@name='nick']") == "rgba(187, 37, 37, 1)"
def test_sign_up_password_wrong_captcha(app): random = randrange(1000000000) with pytest.allure.step("If user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: app.registration.sign_up( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******" + str(random), password="******", captcha="1234", promo_code="")) # Error message for captcha field with pytest.allure.step("Error with wrong captcha for captcha field"): assert app.warning.get_outer_text( "//div[@class='modala-captcha__wrapper']/span[2]" ) == "Введено неверное значение" # Border for captcha field with pytest.allure.step("Border for captcha field"): assert app.warning.get_border_color( "//div[@id='registration']//input[@name='captcha']" ) == "rgba(187, 37, 37, 1)"
def test_registration_with_approve(app): random = randrange(1000000000) with pytest.allure.step("Log out if user is logged"): if app.session.user_logged(): app.open_main_page_ru() app.session.logout() else: with pytest.allure.step("Fill in form by valid data"): app.registration.sign_up_happy_pass( SignupCred(email="testpm8+" + str(random) + "@gmail.com", username="******" + str(random), password="******", captcha="1111", promo_code="")) with pytest.allure.step("Assert for text about email"): assert app.warning.get_outer_text( app.selectors.event_message ) == app.text.registration_event_message_ru with pytest.allure.step("Enter to admin and click to registration link"): app.admin.registration_with_approve() with pytest.allure.step("Assert that user is approved "): assert app.warning.get_outer_text( app.selectors.event_message ) == app.text.approve_registration_message_ru