2016-08-10 8 views
0

Gherkin/Behave(Pythonで)を使用して、組み込みアプリケーションをテストしています。 Gherkinコードはサーバー上で実行され、実際のアクティビティはネットワーク上で通信するデバイス上のアプリケーションによって実行されます。デバイス上のアプリケーションを手動で起動する必要があります。ガーキンテストでユーザーを促す方法は?

デバイスを再起動するにはテストが必要です。テストアプリケーションを起動して再起動することもできますが、サーバにコードが必要なので、テストアプリケーションを再起動して後続の手順を続行できるようにします。しかし、私はテキストを出力するために "steps"ファイルでPythonコードを取得することはできません。

Gherkin/Behaveは完全に自動化されたテストを提供することを意図していますが、ここでは実際の世界制限が適用されます。

答えて

0
for formatter in context._runner.formatters: 
    formatter.stream.write("Your message here\n") 
    formatter.stream.write("\n") 

Behaveはステップの説明を最初に印刷してから、それが緑色に上書きされるため、余分な改行が必要です。余分な改行は、この上書きがテキストではなく空白行を上書きすることを保証します。

私がこれをテストしたとき、私はデフォルトの "かなり"フォーマッタを使用していたことに注意してください。私はそれが他のフォーマッタとどれくらいうまく動作するかはわかりません。

+0

いくつかの実験の後、私は、フォーマッタが2つ(または潜在的にもっと多くの)行にステップを書いていることがわかったので、余分な新しい行が必要でした。表示されたプロンプトが一時的に必要だったので、私の最終的な解決策は、ステップが終了する直前にANSI制御コードを印刷してテキストを削除することでした。フォーマッタは、通常通りにステップ記述を再解析することができ、余分な改行は必要ありませんでした。 – AlastairG

関連する問題