跳转到主要内容

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-0.1.2.tar.gz (10.8 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面