Python django: Как вызвать selenium.set_speed () с django LiveServerTestCase

Для запуска моих функциональных тестов я использую LiveServerTestCase .

Я хочу вызвать set_speed (и другие методы, set_speed – это просто пример), которые не находятся в webdriver, но находятся в объекте selenium.

http://selenium.googlecode.com/git/docs/api/py/selenium/selenium.selenium.html#module-selenium.selenium

мой подкласс LiveServerTestCase

 from selenium import webdriver class SeleniumLiveServerTestCase(LiveServerTestCase): @classmethod def setUpClass(cls): cls.driver = webdriver.Firefox() cls.driver.implicitly_wait(7) cls.driver.maximize_window() # how to call selenium.selenium.set_speed() from here? how to get the ref to the selenium object? super(SeleniumLiveServerTestCase, cls).setUpClass() 

Как это получить? Думаю, я не могу назвать конструктор на селене.

One Solution collect form web for “Python django: Как вызвать selenium.set_speed () с django LiveServerTestCase”

Вы этого не сделаете. Установка скорости в WebDriver невозможна, и причина этого в том, что вам вообще не нужно, и «ожидание» теперь выполняется на другом уровне.

Перед тем, как было возможно рассказать Selenium, не запускайте его с нормальной скоростью, запускайте его с меньшей скоростью, чтобы позволить больше вещей быть доступными при загрузке страницы, для страниц с медленной загрузкой или страниц AJAX.

Теперь вы все это ушли. Пример:

У меня есть страница входа в систему, я вхожу в систему и после входа в систему я вижу сообщение «Добро пожаловать». Проблема заключается в том, что сообщение приветствия не отображается мгновенно и находится на временной задержке (с использованием jQuery).

Код Pre WebDriver будет определять Selenium, запустить этот тест, но замедлить его, чтобы мы могли подождать, пока не появится сообщение приветствия.

Более новый код WebDriver будет определять Selenium, запустите этот тест, но когда мы входим в систему, подождите 20 секунд для появления приветственного сообщения, используя явные ожидания.

Теперь, если вы действительно хотите получить доступ к «заданной» скорости Selenium, сначала я бы рекомендовал против него, но решение было бы погрузиться в старый, теперь устаревший код.

Если вы уже сильно используете WebDriver, вы можете использовать WebDriverBackedSelenium который может предоставить вам доступ к более старым методам Selenium, сохраняя при этом поддержку WebDriver, поэтому большая часть вашего кода останется прежней.

https://groups.google.com/forum/#!topic/selenium-users/6E53jIIT0TE

Второй вариант – погрузиться в старый код Selenium и использовать его, это изменит много вашего существующего кода (потому что это было до появления концепции WebDriver).

Код для Selenium RC & WebDriverBackedSelenium живет здесь, для любопытных:

https://code.google.com/p/selenium/source/browse/py/selenium/selenium.py

Что-то вроде:

 from selenium import webdriver from selenium import selenium driver = webdriver.Firefox() sel = selenium('localhost', 4444, '*webdriver', 'http://www.google.com') sel.start(driver = driver) 

Затем вы получите доступ к этому:

 sel.setSpeed(5000) 
  • Selenium Webdriver Exception: u'f.QueryInterface не является функцией
  • Как установить прокси для phantomjs / ghostdriver в python webdriver?
  • Нажмите на раскрывающееся меню с помощью Selenium Webdriver
  • Как открыть новое окно или вкладку в webdriver (Python)?
  • Как скрыть окно Firefox (Selenium WebDriver)?
  • Python Webdriver не загружает страницу в Windows
  • selenium webdriver занимает слишком много времени, чтобы загрузить страницу
  • Пример события касания с webdriver python?
  • Python - лучший язык программирования в мире.