在Django建立硒测试的样板
django-selenium-boilerplate的Python项目详细描述
一个简单的样板应用程序,用于在django使用LiveServerTestCase进行硒测试。
安装:
pip install django-selenium-boilerplate
用法
此应用程序提供扩展LiveServerTestCase的SeleniumBase类。它建立了selenium,并提供了一些测试的辅助方法。
- SeleniumBase.url(route, *args, **kwargs):返回给定路由的完整实时服务器URL。如果rotue以“/”开头,则将其解释为完整路径。否则,它将被解释为可逆的路由名称,该名称使用reverse(route, args=args, kwargs=kwargs)解析。
- SeleniumBase.by_css(selector):用于self.selenium.find_element_by_css_selector的快捷方式。
- SeleniumBase.by_csss(selector):用于self.selenium.find_elements_by_css_selector的快捷方式。
- SeleniumBase.await_selector(selector, timeout=30):轮询给定css选择器是否存在,直到超时。当至少找到一个与该选择器匹配的元素时返回。
- SeleniumBase.select_option(selector, visible_text):在与给定css选择器匹配的<select>中,使用给定可见文本选择<option>的快捷方式。
可选设置: -SELENIUM_FIREFOX_BIN:构建selenium驱动程序时要使用的firefox二进制文件的可选路径。使用此选项可以约束到特定的支持selenium的firefox版本。
示例:
from selenium_boilerplate import SeleniumBase class MyTestCase(SeleniumBase): def test_home(self): # Look up the route named "home" self.selenium.get(self.url("home")) # Pause until the selector "h1" appears self.await_selector("h1") self.assertEquals(self.by_css("h1").text, "Hello, World")
许可证
BSD许可证。
版权所有(c)2014,Charlie Detar 保留所有权利。
在满足以下条件的情况下,允许以源代码和二进制格式重新分发和使用(无论是否修改):
- 源代码的重新发布必须保留上述版权声明、此条件列表和以下免责声明。
- 以二进制形式重新分发必须在分发时提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
此软件由著作权人和出资人提供,如“是”,任何明示或默示保证,包括但不限于,适销性和适合特定目的的默示保证。在任何情况下,版权持有人或贡献者均不对任何直接、间接、附带、特殊、惩戒性或后果性损害(包括但不限于替代货物或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论其原因如何,也不论其责任理论是否在合同中,严格责任,或因使用本软件而产生的侵权行为(包括疏忽或其他),即使被告知此类损害的可能性。