@Russel777

Почему при замерах замерах времени в Selenium, функция сlick() обрабатывается так долго?

Добрый день!
принялся писать тест через связку селениум+питон+IE
Но приключилась достаточно странная картина - необходимо замерить время с момента клика на ссылку - до загрузки страницы по ссылке

использую:
#
        self.elem = self.driver.find_element_by_link_text("Ссылка")
        self.test01 = time.time() #первый вариант
        self.elem.click()
        self.test02 = time.time() # второй вариант
        assert "Страница по ссылке" in self.driver.page_source
        self.test = time.time()
        print(self.test-self.test01) #примерно 4 секунды
        print(self.test-self.test02) #примерно 0.2 секунды

собственно вывод и вопрос - функция click что действительно обрабатывается почти 3 секунды или я что то не понимаю? разъясните плиз, возможно имеются более лаконичные средства для замеров в данной ситуации
  • Вопрос задан
  • 324 просмотра
Решения вопроса 1
@GeneD88
QA
Что вы замеряете? Зачем вам время в промежутке между нажатием и тут же после? Замеряйте по якорю после нажатия.

upd:
Под якорем я имел ввиду, что прекращать замер необходимо, когда вы увдели на странице нужный вам элемент.
В данном примере - поле ввода для Детали вопроса
Например:

from selenium import webdriver
import time
from datetime import datetime
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver.get('https://www.toster.ru')
time.sleep(3)
driver.find_element_by_xpath('//a[@class="btn btn_green btn_add-question"]').click()
time1 = datetime.now()

try:
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "//textarea[@class='field__input textarea']"))
    )
finally:
    time2 = datetime.now()

delta = time2 - time1

print(delta)


>>> 0:00:00.649733
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы