跳转到主要内容

控制台应用程序的Selenium样式测试库

项目描述

赫卡忒是一个用于测试终端界面的Python 3库,例如通过ncurses。与expect或pexpect等工具不同,它背后运行了一个完整的终端模拟器(具体来说,是tmux),因此您可以准确地捕捉到应用程序由真实用户运行时的样子。

使用方法

赫卡忒目前可以说是轻微文档化的(这是一个委婉的说法,即未文档化)。然而,测试用例应该可以作为使用示例工作得相当不错,并且实现上有合理的docstrings。

常见问题

你是认真的吗?

不太认真,不。作为一个概念,它很好用,如果它变得受欢迎,我完全准备维护它,但应将其视为半实验性的黑客攻击,它只是恰好比所有您可以选择使用的成熟项目好得多。

另一方面,上一次我写了一个半实验性的测试黑客攻击,它恰好是最好的(在Python中),我们得到了Hypothesis,所以...

你会支持Python 2.7吗?

不会。

为什么?

因为您不需要它,我不想。赫卡忒脚本是独立的程序,通过终端界面与您的程序交互。您可以轻松测试任何语言编写的内容,包括Python的其他版本。

它支持tmux的哪些版本?

我的CI测试了1.6到2.0的版本,所以这是官方支持的集合。它可能在更早的版本上也能工作,但我没有测试,也不太感兴趣。

为什么叫赫卡忒?

将基于curses的应用程序命名为以月神和魔法为领域的女神的名字似乎很合适。

它是如何工作的?

幕后,Hecate会启动一个tmux实例,并使用它运行您的命令,同时还有一个监控进程,这样我们就可以报告退出代码(毕竟,谁会制作一个不报告错误标准机制的测试框架呢?)。Hecate通过命令行工具与tmux服务器交互。

我可能在某个时候将其更新为使用控制协议,但到目前为止,这样做似乎没有太大用处,并且会限制支持tmux版本的范围或需要大量的特定版本代码。

项目详情


下载文件

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

源代码发行版

hecate-0.1.0.tar.gz (7.4 kB 查看哈希)

上传时间 源代码

由以下机构支持