跳转到主要内容

用于测试JavaScript(可选WSGI)UI的WSGI+Webdriver

项目描述

用于测试JavaScript(可选WSGI)UI的WSGI+Webdriver

此包提供了一些用于使用Python、Selenium Webdriver、Manuel和WSGI测试JavaScript(可选WSGI)应用程序的帮助程序。

该包提供以下功能

setUp(test, app)

一个用于设置webdriver的doctest setUp函数

  • 将webdriver设置为浏览器变量。

    默认情况下,使用Chrome浏览器驱动。您可以通过两种方式覆盖此设置:

    1. SELENIUM_DRIVER环境变量中定义驱动程序,或者

    2. 在测试脚本中调用get_factory_argument函数以解析-b选项的参数,通常在调用通常解析参数的逻辑之前。

      此选项的值是驱动程序定义。

      函数定义

      get_factory_argument(argv=sys.argv, option='-b')

      解析浏览器定义的参数。

    驱动程序定义可以是以下驱动程序名称之一:chrome firefox ie operaphantomjs。它还可以是远程驱动程序规范。远程驱动程序规范的形式为

    browserName,version,platform,command_executor

    例如

    internet explorer,10,Windows 8

    右侧的项可以省略。在上面的示例中,我们省略了命令执行器。如果不提供选项中的命令执行器,则必须通过SELENIUM_REMOTE_COMMAND_EXECUTOR环境变量提供。

    请注意,为了使用没有指定其他任何内容的firefox作为远程浏览器,您需要提供一个尾随逗号以防止将其视为名称。

  • 设置服务器以提供WSGI应用程序。

  • 设置两种JavaScript doctest示例口味

    js> 示例

    用于在浏览器中评估JavaScript表达式。

    重要提示

    这仅应与表达式一起使用。与多个语句一起使用可能会产生错误或奇怪的结果。这是通过简单地取源提供的内容,将其放在前面并调用 Webdriver 的 execute_script 方法来实现的。

    js! 示例

    用于在不返回任何内容的情况下在浏览器中执行 JavaScript 代码。这对于代码块来说效果很好。提供的源代码传递给 Webdriver 的 execute_script 方法。

    重要提示

    使用 function 语句定义的函数不在 JavaScript 全局作用域中。要定义全局函数,请使用类似以下的方法:

    global_name = function () {...}

    您还可以使用 Webdriver(《browser》)的 execute_script 方法从 Python 示例中执行 JavaScript 代码。以这种方式调用 JavaScript 时,请注意以下异常情况:

    • 通过 function 语句定义的函数可以在代码块中使用,但不是全局的。要定义全局函数,将匿名函数分配给全局变量。

    • 除非代码块包含返回语句,否则不会返回任何值。

  • 包括来自 zope.testing.wait 的 wait 函数,该函数等待条件成立。

该函数接受一个额外的参数(在测试参数之后),命名为 app,它提供了一个 WSGI 应用程序对象。

start_server(app, port=0, daemon=True)

一个可用于在没有运行测试的情况下运行测试服务器的函数。

参数

app

一个 WSGI 应用程序对象

port

要监听的端口。如果为 0(默认值),则端口会动态分配并返回。

daemon

守护进程模式。这可以是 TrueFalseNone

如果为 None,则服务器将在前台运行并阻塞调用者。

如果为 TrueFalse,则服务器将在线程中运行,其守护进程模式设置为该参数的值。

html(css=(), scripts=(), title="test", body="<body></body>")

返回一个带有 CSS 链接、脚本标签以及给定标题和体标签的 HTML 页面。

当您想要一个基本上为空的 HTML 页面并加载要测试的 JavaScript 时,这很有用。

css

一组 CSS URL。

scripts

一组脚本定义。

每个定义是以下之一

  • 脚本 URL

  • 脚本标签(以 “<” 开头)

  • 脚本 JavaScript 源代码(包含至少一个换行符)

title

页面标题的内容

body

文档的主体。

manuels(optionflags=0, checker=None)

返回一个用于 Python、JavaScript 和捕获的 manuel 解析器。

TestSuite(*tests, **options)

一个函数,它接受一个或多个 doctest/manuel 文件名和测试标志,如 setUptearDownoptionflagschecker,并返回一个 doctest 测试套件。

您可以传递一个 app 关键字参数,而不是传递 setUptearDown

请参阅随包提供的示例测试。

变更

0.1.0 (2013-08-31)

首次发布

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

zc.wsgidriver-0.1.0.tar.gz (7.5 kB 查看哈希值)

上传时间 源代码

由以下机构支持