31

我有一些 Selenium Webdriver GUI 测试,它们在我们的 Trac/Bitten 构建环境中的每次签入时运行。由于各种愚蠢的原因,这些都是脆弱的,重新运行失败的测试总是有效的(除非它没有,然后我有一个实际失败的测试)。

如何重新运行这些失败的测试?GUI 测试需要 10 到 15 分钟才能运行,因此重新运行所有测试会很痛苦。

这是构建步骤:

<step id="guitest" description="Run gui tests">
    <sh:exec executable="gui_tests.sh" />
</step>

和 gui_tests.sh

# Setup environment stuff deleted
nosetests python/*Tests.py -v

我们正在努力使 GUI 测试更加健壮,但我的理解是,这就是 GUI 测试的生命。

4

1 回答 1

61

2021 年 6 月编辑:令人惊讶的是,这仍然获得选票。如果可能,请考虑将ptyest与该--last-failed选项一起使用。

事实证明,这对鼻子来说是微不足道的。首先运行命令并包含--with-id标志。

# Environment stuff deleted
nosetests python/*Tests.py -v --with-id
nosetests python/*Tests.py -v --failed

如果,比如说,四个测试失败,使用--failed标志运行将只运行这四个测试。如果您随后更正了三个,运行 with--failed将只运行剩余的失败测试。

再次运行--with-id会重置失败测试的跟踪并运行所有找到的测试。

在我开始编写自己的插件之前,我对此进行了相当多的搜索。在研究如何注册我的插件时,我发现一些代码恰好是nose提供的testid插件,它提供了上面的功能。嘘。我在这里记录这个,希望能节省一些时间。

当然,现在我知道了,很明显可以通过以下方式找到它:

nosetests --help

我最初扫描了文档,但没想到会那么容易,所以我三心二意地做了。

于 2013-04-24T21:18:49.100 回答