31

Trac/Bitten ビルド環境でチェックインするたびに実行される Selenium Webdriver GUI テストがいくつかあります。さまざまなばかげた理由により、これらは脆弱であり、失敗したテストを再実行すると常に機能します (そうでない場合、実際に失敗したテストがある場合を除きます)。

これらの失敗したテストを再実行するにはどうすればよいですか? 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

たとえば、4 つのテストが失敗した場合、--failedフラグを指定して実行すると、それら 4 つのテストのみが実行されます。次に 3 つを修正すると、 with--failedを実行すると残りの失敗したテストのみが実行されます。

再度実行--with-idすると、失敗したテストの追跡がリセットされ、見つかったすべてのテストが実行されます。

独自のプラグインを作成する前に、これについてかなり検索しました。プラグインの登録方法を調べていたところ、上記の機能を提供する、nose によって提供されたtestid プラグインであるコードを見つけました。おいおい。他の誰かの時間を節約したいと思って、私はこれをここに文書化しています。

もちろん、私がそれについて知った今、それは明らかに次のように発見されました:

nosetests --help

最初にドキュメントをスキャンしましたが、それほど簡単だとは思わなかったので、中途半端にスキャンしました。

于 2013-04-24T21:18:49.100 に答える