用于将robot框架测试运行结果序列化到sqlite3数据库中的工具。

dbbot的Python项目详细描述


dbbot是一个python脚本,用于将Robot Framework输出文件序列化到 一个sqlite数据库。这样未来的Robot Framework相关工具和 插件将为测试运行结果提供统一的存储空间。

要求

Robot Framework建议将2.7.4或更高版本作为 2.7.4不支持存储测试运行或标记的总运行时间。

工作原理

脚本将一个或多个output.xml文件作为输入,初始化 数据库模式,并将相应的结果存储到数据库中 (robot_results.db默认情况下,可以使用选项-b或 数据库。如果数据库文件已经存在,它将插入新文件。 结果输入数据库。

安装

此工具与pip一起安装,命令为:

$ pip install dbbot

或者,您可以下载源发行版,提取它并 安装时使用:

$ python setup.py install

存储的内容

测试数据(名称、内容)和测试统计数据(通过或 失败、可能发生的错误、运行时间等)与 默认情况下,套件和测试用例是存储的。但是,关键字和相关 数据不会被存储,因为它可能需要更长的数量级 测试运行。您可以使用-k–也是关键字标志。

用法示例

单个output.xml文件的典型用法:

python -m dbbot.run atest/testdata/one_suite/output.xml

如果数据库不存在,则创建数据库。否则测试 结果只插入到现有的数据库中。只有新的结果 插入。

默认数据库是名为robot_results.db的文件。

其他选项包括:

Short formatLong formatDescription
-k–also-keywordsParse also suites’ and tests’ keywords
-v–verbosePrint output to the console.
-b DB_FILE_PATH–database=DB_FILE_PATHSQLite database for test run results
-d–dry-runDo everything except store the results.

指定自定义数据库名称:

$ python -m dbbot.run  -b my_own_database.db atest/testdata/one_suite/output.xml

分析包含关键字和相关数据的测试运行结果:

python -m dbbot.run -k atest/testdata/one_suite/output.xml

同时提供多个测试运行结果文件:

python -m dbbot.run atest/testdata/one_suite/output.xml atest/testdata/one_suite/output_latter.xml

数据库

您可以使用sqlite3命令行工具检查创建的数据库:

$ sqlite3 robot_results.db

sqlite> .tablesarguments        suite_status     test_run_errors  tests
keyword_status   suites           test_run_status
keywords         tag_status       test_runs
messages         tags             test_status

sqlite> SELECTcount(),tests.id,tests.name        FROM tests, test_status
        WHERE tests.id == test_status.test_id AND
        test_status.status == "FAIL"
        GROUP BY tests.name;

请注意,在初始化数据库时,不会创建索引 德博特。这是为了避免减慢插入速度。您可能需要添加 手动索引到数据库以加速您自己的某些查询 剧本。

有关数据库架构的信息,请参见doc/robot_database.md

从Robot框架2.7迁移到2.8

在RobotFramework2.8中,output.xml略有变化。因为这个, 使用2.7创建的数据库需要迁移才能与2.8兼容。

迁移现有数据库,发布以下脚本:

python tools/migrate27to28 -b <path_to_robot_results_db>

用例示例:大多数失败的测试

dbbot的一个常见用例是 失败的套件、测试和关键字。在 示例/failbot/bin/failbot

failbot是一个python脚本,用于生成失败的摘要web页面 套件、测试和关键字,使用dbbot中存储的信息 数据库。请调整(赤骨)HTML模板 示例/failbot/模板

编写自己的脚本

请以examples/failbot/failbot中的模块为例 如何在dbbot提供的类之上构建以满足您自己的需要 脚本需求。

许可证

dbbot在Apache License, Version 2.0下发布。

有关详细信息,请参见license.txt。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在AlertDialog builder标题右侧放置图标   安装weblogic server12时发生java获取错误。1在windows 10上   java无法导入:安卓。支持v7。小装置。Android Studio中的RecyclerView   java Android应用程序等待通知奇怪行为   java如何比较ArrayList中的整数元素?   java Quartz属性不会触发Quartz作业   java轻松地将许多JavaFX属性绑定到UINode   Maven插件管理器导致java错误消息的原因是什么?   JAXB解组错误后java文件被阻止   java如何在spark kafka流中创建消费者组并将消费者分配给消费者组   java Gps lat&long随机显示非常不准确的结果   java使用assest文件夹文件在Android上执行shell命令   java如何在客户端使用javascript提取文本   java扩展描述的distincts之和   java重写默认Spring数据REST配置   java SQL未命名参数语法   二进制搜索任务的java真实解决方案   java在一个多模块多数据源项目中,用什么正确的方式来指示将哪个数据源注入我的DAOs?