控制台应用程序的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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 33ae7e357767851ab7267685595be516e6ccdc868e00d9ca9fc44becb70b8d21 |
|
MD5 | 74baa666a0712307374452adf26a743b |
|
BLAKE2b-256 | c1a7ed1cfa8d9439201de560742bd36dd2718d8892124fc0d4df8e2c3b71759e |