跳转到主要内容

利用这些工具,可以轻松快速地使用Selenium编写和开发Odoo测试。

项目描述

Vauxoo Logo

Build Status codecov version wheel supported-versions commits-since

odoo-selenium

此软件包提供了一些工具,可以轻松快速地使用Selenium编写和开发Odoo测试。

用法

只需导入SeleniumCase并将您的单元测试作为它的子类。就这么简单!以下是一个示例,展示了如何使用它

from selenium.webdriver.common.by import By

from odoo.tests import tagged

from odoo_selenium import SeleniumCase


@tagged("-at_install", "post_install")
class TestSelenium(SeleniumCase):

    def test_login_page(self):
        self.navigate("/web/login")
        email_input = self.driver.find_element(By.ID, "login")

        self.assertEqual("Email", email_input.get_attribute("placeholder"))

开发

如果您想贡献力量,设置开发环境很容易。作为一个旨在与Odoo集成的简单库,所需的所有内容就是克隆源代码并开始修改。以下是一个关于项目和其结构的简单概述。

项目结构

项目分为三个部分,库本身、测试以及支持运行测试套件的Docker文件。

src

所有库代码应位于此文件夹中。这是用户在Odoo测试中导入的代码。

tests_odoo

这些是 Odoo 模块,是测试套件的一部分。由于这个包旨在作为 Odoo 的实用库使用,没有 Odoo 进行测试实际上是没有意义的。这些模块只为在 Odoo 中运行的测试提供,以验证库集成良好且不会随机崩溃。

运行测试套件

由于运行测试套件需要 Odoo 实例,因此项目依赖于 Docker 来提供该实例和其他所需的基础设施,例如 PostgreSQL 服务器。在 Docker 容器上运行还意味着项目本身以用户的方式安装,这意味着此环境尽可能接近“现实世界”。

要运行测试套件,您只需执行以下命令

docker compose -f .docker/chrome-compose.yaml up --build --abort-on-container-exit --force-recreate

请确保运行上述命令时的工作目录是存储库的根目录。Docker 会自动检查更改的文件,因此您不需要执行任何操作(除了运行上述命令),这使得迭代更改的测试变得非常简单和快速。

默认情况下,测试套件针对最新版本的 Odoo 运行。要使用不同的 Odoo 版本运行测试套件,只需指定即可

ODOO_VERSION=15 docker compose -f .docker/chrome-compose.yaml up --build --abort-on-container-exit --force-recreate

上述命令将针对 Odoo 15.0 运行测试。镜像标记为:vauxoo/odoo-selenium:${ODOO_VERSION},因此如果您想检查上面构建的镜像,可以简单地使用

docker run -it --rm --entrypoint=/bin/bash vauxoo/odoo-selenium:15

注意:如果您的测试失败,并且看到引用了旧代码,您正在使用旧镜像!这就是为什么使用 --force-recreate 的原因。

维护者

该项目由 Vauxoo 维护。

这是一家拉丁美洲公司,提供企业管理系统(包括其主产品 Odoo)的培训、辅导、开发和实施,其整个运营策略基于开源软件的使用。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

odoo_selenium-0.1.6.tar.gz (7.2 kB 查看散列)

上传时间

构建分布

odoo_selenium-0.1.6-py3-none-any.whl (8.3 kB 查看散列)

上传时间 Python 3

由以下支持

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