gpt4 book ai didi

Python django : How to call selenium. set_speed() 与 django LiveServerTestCase

转载 作者:太空狗 更新时间:2023-10-29 21:43:45 25 4
gpt4 key购买 nike

为了运行我的功能测试,我使用 LiveServerTestCase

我想调用不在 webdriver 中但在 selenium 对象中的 set_speed(以及其他方法,set_speed 只是一个示例)。

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()

如何获得?我想我不能在 selenium 上调用构造函数。

最佳答案

你不知道。在 WebDriver 中设置速度是不可能的,原因是您通常不需要这样做,并且“等待”现在在不同的级别完成。

在可以告诉 Selenium 之前,不要以正常速度运行它,以较慢的速度运行它以允许在页面加载时提供更多内容,以用于加载缓慢的页面或 AJAX 化页面。

现在,您可以完全取消它。示例:

我有一个登录页面,我登录并在登录后看到“欢迎”消息。问题是欢迎消息没有立即显示,而是有时间延迟(使用 jQuery)。

WebDriver 之前的代码 会指示 Selenium,运行此测试,但在此处放慢速度,以便我们可以等到欢迎消息出现。

较新的 WebDriver 代码 将指示 Selenium,运行此测试,但是当我们登录时,使用 explicit waits. 最多等待 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)

关于Python django : How to call selenium. set_speed() 与 django LiveServerTestCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15719885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com