Django应用程序,用于运行selenium webdriver测试。
项目描述
# django-webdriver
Django应用程序,用于使用webdriver运行selenium测试
## 特性
扩展了[django-nose](https://github.com/django-nose/django-nose)的功能,以管理selenium测试。
## 安装
您可以从PyPi获取django-webdriver
```bash
pip安装django-webdriver
```
要使用它,您应将其添加到`settings.py`中的`INSTALLED_APPS`。
Django-webdriver使用django-nose来运行测试,因此您还应在项目中配置django-nose
```python
INSTALLED_APPS = (
...
'django_webdriver',
'django_nose',
...
)
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
```
## 使用方法
使用django-webdriver,您可以仅运行单元测试或仅运行selenium测试,或者两者都运行。
### 启动测试
* `--selenium-only`: 仅运行selenium测试
* `--with-selenium`: 运行所有测试(单元和selenium)
* ` `: 将仅运行单元测试。
### 配置
#### 本地
添加 `--webdriver=` 来指定你想要在本地上使用的 WebDriver。
例如,可以是以下之一(注意大小写):
* Firefox
* PhantomJS
* Chrome
* ...
* [更多在这里](http://selenium-python.readthedocs.org/en/latest/api.html#webdriver-api)
##### 示例
```bash
./manage.py test --with-selenium --webdriver=PhantomJS
```
#### 远程
* 添加 `--remote_selenium_provider=` 来指定你想要使用的远程网格。
* 在你的 `settings.py` 中添加每个网格的配置
```python
DJANGO_WEBDRIVER_SETTINGS = {
'remote_providers': {
'grid': {
'url': 'http://192.168.0.18:4444/wd/hub',
# 将使用 'default' 能力
},
'sauce-lab': {
'url': 'http://my_url',
'capabilities': 'ie',
},
},
'remote_capabilities': {
'default': [
{
'browser': 'firefox',
'platform': 'WINDOWS'
},
],
'ie': [
{
'browser: 'internet explorer',
'version': 6,
}
]
}
}
```
### 编写 selenium 测试
要编写 selenium 测试,你必须将文件命名为 `tests_selenium.py`。你也可以使用 Python 模块名 `tests_selenium`,但必须在 `__init__.py` 中定义你的测试文件。
你的 selenium 测试类必须继承自 `django_webdriver.base.DjangoWebdriverTestCase`。
你不需要在 setUp 或 tearDown 方法中管理 webdriver 的生命周期。webdriver 在 setUp 之前实例化,并在 tearDown 之后停止,因此你可以在这些方法中使用它。
```python
from django_webdriver.base import DjangoWebdriverTestCase
class TestSelenium(DjangoWebdriverTestCase)
def setUp(self)
self.webdriver.get('http://wwww.github.com') # 这是可以的
self.webdriver = '...' # 这是禁止的,因为你会破坏生命周期。
def tearDown(self)
self.webdriver... # 这是可以的
self.webdriver.quit() # 这是禁止的,因为你也破坏了生命周期。
def test_google(self)
url = 'https://www.google.fr/'
self.webdriver.get(url)
self.assertEqual(url, self.webdriver.current_url)
```
Django应用程序,用于使用webdriver运行selenium测试
## 特性
扩展了[django-nose](https://github.com/django-nose/django-nose)的功能,以管理selenium测试。
## 安装
您可以从PyPi获取django-webdriver
```bash
pip安装django-webdriver
```
要使用它,您应将其添加到`settings.py`中的`INSTALLED_APPS`。
Django-webdriver使用django-nose来运行测试,因此您还应在项目中配置django-nose
```python
INSTALLED_APPS = (
...
'django_webdriver',
'django_nose',
...
)
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
```
## 使用方法
使用django-webdriver,您可以仅运行单元测试或仅运行selenium测试,或者两者都运行。
### 启动测试
* `--selenium-only`: 仅运行selenium测试
* `--with-selenium`: 运行所有测试(单元和selenium)
* ` `: 将仅运行单元测试。
### 配置
#### 本地
添加 `--webdriver=` 来指定你想要在本地上使用的 WebDriver。
例如,可以是以下之一(注意大小写):
* Firefox
* PhantomJS
* Chrome
* ...
* [更多在这里](http://selenium-python.readthedocs.org/en/latest/api.html#webdriver-api)
##### 示例
```bash
./manage.py test --with-selenium --webdriver=PhantomJS
```
#### 远程
* 添加 `--remote_selenium_provider=` 来指定你想要使用的远程网格。
* 在你的 `settings.py` 中添加每个网格的配置
```python
DJANGO_WEBDRIVER_SETTINGS = {
'remote_providers': {
'grid': {
'url': 'http://192.168.0.18:4444/wd/hub',
# 将使用 'default' 能力
},
'sauce-lab': {
'url': 'http://my_url',
'capabilities': 'ie',
},
},
'remote_capabilities': {
'default': [
{
'browser': 'firefox',
'platform': 'WINDOWS'
},
],
'ie': [
{
'browser: 'internet explorer',
'version': 6,
}
]
}
}
```
### 编写 selenium 测试
要编写 selenium 测试,你必须将文件命名为 `tests_selenium.py`。你也可以使用 Python 模块名 `tests_selenium`,但必须在 `__init__.py` 中定义你的测试文件。
你的 selenium 测试类必须继承自 `django_webdriver.base.DjangoWebdriverTestCase`。
你不需要在 setUp 或 tearDown 方法中管理 webdriver 的生命周期。webdriver 在 setUp 之前实例化,并在 tearDown 之后停止,因此你可以在这些方法中使用它。
```python
from django_webdriver.base import DjangoWebdriverTestCase
class TestSelenium(DjangoWebdriverTestCase)
def setUp(self)
self.webdriver.get('http://wwww.github.com') # 这是可以的
self.webdriver = '...' # 这是禁止的,因为你会破坏生命周期。
def tearDown(self)
self.webdriver... # 这是可以的
self.webdriver.quit() # 这是禁止的,因为你也破坏了生命周期。
def test_google(self)
url = 'https://www.google.fr/'
self.webdriver.get(url)
self.assertEqual(url, self.webdriver.current_url)
```
项目详情
关闭
django-webdriver-0.1.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ddbecd298ac4412f76eb3e0f050073a65e9f016db29019537f1e2ec25e2edf68 |
|
MD5 | 6b0436c45bd640bd7d40da9a0d25679b |
|
BLAKE2b-256 | 215118b6eb6d6af4cec800939bb15245f9597e5a9f19f2e8456f0e8f8034608e |