Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Не завершается тест pythone+selenium-webdriver

webdriver
selenium
python
Теги: #<Tag:0x00007fedb9eeb660> #<Tag:0x00007fedb9eeb3e0> #<Tag:0x00007fedb9eeb200>

(Philip Kandyba) #1

В общем, уже в конце после нажатия на кнопку “create-account”, происходит переход на страницу с текcтом подтверждения, на этой странице нужно найти кнопку “button”, и она ни как не находится. Ни каким способом, явными и не явными ожиданиями. Еще хочу заасертить урлы. Посмотри пожалуйста в чем может быть проблема. И вообще можно маленькое ревью сделать, что лучше поменять или изменить в коде? Спасибо!

from core.settings import *


class Regestration (unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome(chromedriver)

    def test_UserRegistrationGetPage(self):
        driver = self.driver
        driver.get(regestrationpage)
        regestrationpageStatus = requests.get(regestrationpage)
        print(regestrationpageStatus)
        name = driver.find_element_by_class_name("name")
        name.send_keys(username)
        userEmail = driver.find_element_by_class_name("email")
        userEmail.send_keys(useremail)
        password = driver.find_element_by_class_name("password")
        password.send_keys(userpassword)
        confirmPassword = driver.find_element_by_class_name("confirm-password")
        confirmPassword.send_keys(userpassword)
        buisnesList = driver.find_element_by_xpath("//li[6]/div/div/div/div").click()
        buisnesType = driver.find_element_by_xpath("//li[6]/div/div/div[2]/ul/li[2]").click()
        newAccButton = driver.find_element_by_class_name("create-account")
        newAccButton.click()
        pageLoad = WebDriverWait(driver, 10).until(
                EC.presence_of_element_located((By.CSS_SELECTOR, "button")))
        self.assertIn(approvepage, self.driver.current_url)

if __name__ == '__main__':
    unittest.main()

(Yaroslav Pernerovskyy) #2

Страница открывается в том же окне?
На странице есть iframe?


(Philip Kandyba) #3

Страница открывается в том же окне, iframe - нет


(rmerkushin) #4

А ajax там случаем нету? Можно код страницы посмотреть?


(Philip Kandyba) #5

Скинул body

Там есть скрипты но они не блокирующие. Можете поревьюить код теста? или на основе body предложить решение. Вот этот код боди это то что я получаю в результате после нажатия кнопки регистрации, меня кидаеи на страницу с этим боди.

<body>
  <div class="system-notification"></div>

  <div id="i-page" class="page page2 ">
    <div class="page-block" id="page_block_header">
      <div class="color-overlay"></div>
      <div class="border-holder">
        <div class="block-inner">
          <div class="page-element widget-container page-element-type-headline widget-headline " id="element-2">
            <div class="contents">
              <h1>
                <p style="text-align: center;"><b>Please check your mailbox to activate the account!</b></p>
              </h1>
            </div>
          </div>
          <div class="page-element widget-container page-element-type-text widget-text " id="element-3">
            <div class="contents">
              <p style="text-align: justify;"><span>To complete the process, please check your email for a message from us. Simply click on the link to activate your account.
                </span>
              </p>
              <p style="text-align: justify;"><span><br></span></p>
              <p style="text-align: justify;"><span></span></p>
              <p style="text-align: justify;  ">If the email doesn't appear in your inbox within a few minutes, check your spam folder. Some anti-spam filters modify the email, so be sure to move the message to your inbox before clicking the link.<br></p>
              <p style="text-align: justify;"><span><br></span></p>
              <p>
                <button class="button_1 login-btn resend-mail">Resend mail</button>
                <button class="button_1 login-btn spinner-button hidden">
                  <div class="Spinner Spinner--inverted Spinner--md">
                    <span class="Spinner_dot Spinner_dot--first"></span>
                    <span class="Spinner_dot Spinner_dot--second"></span>
                    <span class="Spinner_dot Spinner_dot--third"></span>
                  </div>
                </button>
              </p>
            </div>
          </div>
          <div class="page-element widget-container page-element-type-image widget-image " id="element-124">
            <div class="contents">
              <div class="cropped" alt=""></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

(rmerkushin) #6

Я так понял вы эту кнопку имели в виду:

<button class="button_1 login-btn resend-mail">Resend mail</button>

Попробуйте по xpath найти кнопку с классом resend-mail


(Philip Kandyba) #7

вот не находит его, стоить ожидание, проход время и тест падает, ошибка в том что не находит элемент


(rmerkushin) #8

А руками если делать все ок?


(Philip Kandyba) #9

Проблему решил поиском по Xpath. Спасибо!