[开源]一款基于unittest全功能测试框架,支持Web/APP/API测试

开源系统流程管理
2026-06-28 06:04 1 次浏览 • 0 次下载 0KB
[开源]一款基于unittest全功能测试框架,支持Web/APP/API测试

一、开源项目简介

图片

Seldom is an automation testing framework based on unittest.

seldom 是基于unittest 的自动化测试框架。

基于unittest全功能测试框架,支持Web/App/API测试。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

查看报告

你可以到 mypro\reports\ 目录查看测试报告。

图片

四、功能概述

Features

⭐ web/app/api全功能测试框架

⭐ 提供脚手架快速创建自动化项目

⭐ 集成XTestRunner测试报告,现代美观

⭐ 提供丰富的断言

⭐ 提供强大的数据驱动

⭐ 平台化支持

五、技术选型

Install

pip install seldom

If you want to keep up with the latest version, you can install with GitHub/Gitee repository url:

> pip install -U git+seldom
> pip install -U git+seldom

 Quick Start

1、查看帮助:

seldom --help
Usage: seldom [OPTIONS]
  seldom CLI.
Options:
  --version                       Show version.
  --project-api TEXT              Create an API automation test project.
  --project-app TEXT              Create an App automation test project.
  --project-web TEXT              Create an Web automation test project.
  -cc, --clear-cache BOOLEAN      Clear all caches of seldom.
  -p, --path TEXT                 Run test case file path.
  -c, --collect / -nc, --no-collect
                                  Collect project test cases. Need the
                                  `--path`.
  -l, --level [data|method]       Parse the level of use cases. Need the
                                  --path.
  -j, --case-json TEXT            Test case files. Need the `--path`.
  -e, --env TEXT                  Set the Seldom run environment `Seldom.env`.
  -b, --browser [chrome|firefox|ie|edge|safari]
                                  The browser that runs the Web UI automation
                                  tests. Need the `--path`.
  -u, --base-url TEXT             The base-url that runs the HTTP automation
                                  tests. Need the `--path`.
  -d, --debug / -nd, --no-debug   Debug mode. Need the `--path`.
  -rr, --rerun INTEGER            The number of times a use case failed to run
                                  again. Need the `--path`.
  -r, --report TEXT               Set the test report for output. Need the
                                  `--path`.
  -m, --mod TEXT                  Run tests modules, classes or even
                                  individual test methods from the command
                                  line.
  -ll, --log-level [TRACE|DEBUG|INFO|SUCCESS|WARNING|ERROR]
                                  Set the log level.
  -h2c, --har2case TEXT           HAR file converts an seldom test case.
  -s2c, --swagger2case TEXT       Swagger file converts an seldom test case.
  --api-excel TEXT                Run the api test cases in the excel file.
  --help                          Show this message and exit.

 

2、创建项目:

> seldom --project-api myapi  # API automation test project.
> seldom --project-app myapp  # or App automation test project.
> seldom --project-web myweb  # or Web automation test project.

 

目录结构如下:

myweb/
├── test_dir/
│   ├── __init__.py
│   └── test_sample.py
├── test_data/
│   └── data.json
├── reports/
└── confrun.py
  • test_dir/ 测试用例目录。
  • test_data/ 测试数据文件目录。
  • reports/ 测试报告目录。
  • confrun.py 运行配置文件。

3、运行项目:

  • ❌️ 在PyCharm中右键执行。
  • ✔️ 通过命令行工具执行。
> seldom-ptest_dir# 运行 test_dir 测试目录


              __    __
   ________//___//___________
/___/_\//__/__\/__`___/
(__)__///_///_///////
/____/\___/_/\__,_/\____/_//_//_/v3.x.x
-----------------------------------------
                             @itest.info
...

2022-04-3018:37:36log.py|INFO|✅Find 1 element:id=sb_form_q->input'seldom'.
2022-04-3018:37:39log.py|INFO|assertIn title:seldom-搜索.
.52022-04-3018:37:39log.py|INFO|https://cn.bing.com
2022-04-3018:37:41log.py|INFO|✅Find 1 element:id=sb_form_q->input'poium'.
2022-04-3018:37:42log.py|INFO|assertIn title:poium-搜索.
.62022-04-3018:37:42log.py|INFO|https://cn.bing.com
2022-04-3018:37:43log.py|INFO|✅Find 1 element:id=sb_form_q->input'XTestRunner'.
2022-04-3018:37:44log.py|INFO|assertIn title:XTestRunner-搜索.
.72022-04-3018:37:44log.py|INFO|http://www.itest.info
2022-04-3018:37:52log.py|INFO|assertIn url:http://www.itest.info/.
.82022-04-3018:37:52log.py|SUCCESS|generated html file:file:///D:\mypro\reports\2022_04_30_18_37_29_result.html
2022-04-3018:37:52log.py|SUCCESS|generated log file:file:///D:\mypro\reports\seldom_log.log