Skip to main content

Next generation automated testing framework.

Project description

lounger

Next generation automated testing framework.

feature

🌟 支持web/api测试。

🌟 提供脚手架生成自动化项目。

🌟 更好用的数据驱动。

🌟 支持数据库操作。

🌟 已经配置好的测试报告(包含截图、日志)。

🌟 天然支持API objectsPage objects设计模式。

framework

lounger不是一个从零开始的自动化测试框架,建立在pytest生态的基础上,提供更加简单、方便的使用体验。

Install

  • pip安装。
$ pip install lounger
  • 体验最新的项目代码。
$ pip install -U git+https://github.com/SeldomQA/lounger.git@main

scaffold

lounger提供了脚手架,直接创建项目和使用。

$ lounger --help

Usage: lounger [OPTIONS]

  lounger CLI.

Options:
  --version                Show version.
  -pw, --project-web TEXT  Create an Web automation test project.
  -pa, --project-api TEXT  Create an API automation test project.
  --help                   Show this message and exit.

Web自动化项目

  • 首先,请安装测试浏览器(至少一款)。

    $ playwright install chromium[可选]
    $ playwright install firefox[可选]
    $ playwright install webkit[可选]
    
  • 创建web自动化测试项目。

    $ lounger --project-web myweb
    
  • 运行项目

    $ cd myweb
    $ pytest
    

API自动化项目

  • 创建api自动化测试项目。

    $ lounger --project-api myapi
    

    注:项目包含通过YAML管理API测试用例,编写规范参考下面的文档。

  • 运行测试

    $ cd myapi
    $ pytest
    

测试报告

  • lounger集成pytest-xhtml,直接生成测试报告。

项目&文档&示例

  1. 如何进行Web自动化测试?👉 阅读文档
  2. 如何进行API自动化测试?👉 阅读文档
  3. 框架集成了哪些功能? 测试示例

数据库跳板机

如果业务环境访问数据库需要经过 SSH 跳板机,可以直接使用框架内置的 Fabric 封装,不需要在 conftest.py 里手动维护隧道对象、端口和关闭逻辑。

from pathlib import Path

import pytest

from lounger.db_operation import MySQLDB
from lounger.utils.variables import ExtractVar

_extractor = ExtractVar()


@pytest.fixture(scope="session")
def mysql_db():
    with MySQLDB.from_ssh_tunnel(
        ssh_host=_extractor.config("ssh_host"),
        ssh_port=int(_extractor.config("ssh_port")),
        ssh_user=_extractor.config("ssh_user"),
        ssh_private_key=str(Path(_extractor.config("ssh_private_key")).expanduser()),
        remote_db_host=_extractor.config("remote_db_host"),
        remote_db_port=int(_extractor.config("remote_db_port")),
        db_user=_extractor.config("db_user"),
        db_password=_extractor.config("db_password"),
        db_database=_extractor.config("db_database"),
        db_charset=_extractor.config("db_charset"),
    ) as db:
        yield db

上面的参数来源由业务自己决定,可以来自 conftest.py、环境变量、配置中心或其他任意配置方式。框架只负责隧道和数据库连接的封装。

对比

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lounger-1.3.0.tar.gz (73.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lounger-1.3.0-py3-none-any.whl (93.2 kB view details)

Uploaded Python 3

File details

Details for the file lounger-1.3.0.tar.gz.

File metadata

  • Download URL: lounger-1.3.0.tar.gz
  • Upload date:
  • Size: 73.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for lounger-1.3.0.tar.gz
Algorithm Hash digest
SHA256 6856f6416fb3548450e5b581f791f3063f7760c30fd8ea8b6a3321a3f0100b6d
MD5 0f368f553045886bd269284b4898f22a
BLAKE2b-256 448aaea514a456e4ce1f0da39ce7cef854253daeb4a7f5d4956e65b55fbecc93

See more details on using hashes here.

File details

Details for the file lounger-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: lounger-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 93.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for lounger-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0412767203a6a908661382f85591dbc0e2b9787480f1889f6c34c35f1943a32b
MD5 5cfa9d1e88b079ed929514e13ce1bca5
BLAKE2b-256 4b3d80225d1b57f3d9094a6a33d8f950eb3918353d5218bdd9b408a0dc602a5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page