問題タブ [lettuce]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
797 参照

python - レタス:アサーション後もテストを続行します

テストが失敗した後、どうすればテストを続行できますか?

「失敗する可能性のあるテストがあります」が失敗したのに、「まだ実行したい他のテスト」を実行したい。

0 投票する
1 に答える
2675 参照

python - レタス入門:「XMLSyntaxError:なし」

Lettuceテストの基本セットをdjangoプロジェクトで起動して実行しようとしていますが、いくつかの問題が発生しました。

レタスのWebサイトのサンプルチュートリアルに従いましたが、実行すると次のエラーが発生し続けますpython manage.py harvest

仮想環境に次のものをインストールしています。

これはバグですか、それともどこかで間違いを犯しましたか?私は例がそれをカバーしているだろうと思ったでしょう...

0 投票する
1 に答える
668 参照

django - レタス + とげとセレンでテストするときに Travis CI でタイムアウトを構築する

ローカルで正常に実行される約 130 のレタス テストがありますが、travis がそれらを実行すると、いくつかのテストの後にハングします。

ここで、テストは 8 番目のシナリオで失敗します: https://travis-ci.org/h3/django-editlive/jobs/3945466

そして、最後のシナリオを削除すると、パスします: https://travis-ci.org/h3/django-editlive/builds/3945648

テストを別々の機能ファイルに分割しようとしましたが、同じ問題です。

特定のシナリオが原因ではなく、実行されたシナリオの数が原因のようです。

トラビスのドキュメントによると:

  • キーボード入力またはその他の種類の人間の操作を待機しています
  • 並行性の問題 (デッドロック、ライブロックなど)
  • コンパイルに非常に時間がかかるネイティブ拡張機能のインストール

私が見ることができる唯一の可能性は同時実行の問題です..しかし、どうすればそれをデバッグできますか?

私のプロジェクトはオープン ソースなので、ソース コード全体は次の場所で入手できます。

0 投票する
1 に答える
215 参照

testing - とげとレタスのテストでループを使用するには?

forループまたはwhileループをsplinterおよびレタスBBDテストと一緒に使用できるかどうかを尋ねたい.

私のシナリオの 1 つは、テーブルをループして、すべてのエントリのステータスが変更されるまで各エントリのステータスを変更したいということです。1 つのエントリ ステータスを変更して、テーブルに戻ることができます。どうすればループでそれを行うことができますか? ありがとう。

0 投票する
0 に答える
634 参照

python - Django Lettuce がテストを 2 回並行して実行する

レタスを使用してステップ定義から出力を取得しようとしています。テストを実行すると、同じテストに表示される内容で上書きされる前に、出力が 1 秒間点滅します。ただし、出力でステップが 2 回呼び出されていることがわかります。1つは非常に暗い(ほぼ黒)色で、もう1つは緑または赤です。出力は以下で強調表示されています。 ファントムテスト

デバッグ情報は、このテストではなく、実行中の他のテストに表示されるため、これは頭痛の種です。これを明確に説明するのに苦労していますが、スクリーン キャプチャが要点を説明するのに役立つと思います。各ステップが 1 回だけ呼び出されることを確認する必要がありますが、現在はそうではありません。

これについての助けをいただければ幸いです。

特徴

手順 (フォーマットは少しオフ)

設定

0 投票する
1 に答える
3667 参照

python - サンプルでレタスのシナリオを実行しようとすると、作成したステップが認識されない

私がどれほど混乱しているかをお見せできるかどうか見てみましょう。

変数をインラインで含むレタス機能ファイルを使用するだけで、すべてが機能します。たとえば、次の機能ファイルを作成するとします。

それに対してレタスを実行すると、次の手順を作成するように指示されます。

そのヘッダー (「レタスのインポート ステップから」) とそれらのステップを filefinder.py フォルダーに貼り付け、「assert False」を「assert True」に変更してテストをパスさせると、見事にパスします。

ここで、例のテーブルをミックスに追加したいと思います。Then I can ask <manager> for <item>3 番目のステップとして次の例の表を追加するだけです。

これに対してレタスを実行すると、次のように表示されます。

そのため、それを filefinder.py ファイルに追加し、「assert False」を「assert True」に変更して、コンソールに緑色の色が表示されるようにします。<manager>それに対してレタスを実行すると、プレースホルダーを認識せず<item>、有効なステップを作成するかのように、まったく同じ応答が返されます。ここで説明されているようにプレースホルダーを使用している場合、要求されたステップを作成できないのはそのときだけです: http://lettuce.it/tutorial/scenario-outlines.html 例が「シナリオの概要: 階乗 [0-4]" は、[0-4] が必要かどうかわからないためです。私のテストではまったく違いがないように見えますが、例を使用した成功したテストがないため、完全に間違っている可能性があります。

私がしなければならないことは、レタスが " <placeholder>" 構文を持つステップをインラインで認識しない理由を理解することです。

誰かが私のためにこれについていくつかの光を当てることができますか?

0 投票する
1 に答える
279 参照

python - テスト前に BD をフラッシュします。レタスの Terrain.py の設定

テストにサラダ(レタス)を使用して、このチュートリアルに従い、リンクに示されているようにterraxin.pyファイルを設定しました。私は南にインストールし、最初の移行を行い、テストを実行しましたが、実行時にコマンドの後に初期設定でエラーが発生しflush、. リンクの例は大丈夫ですか?正しいテストのために Terrain.py ファイルを設定するより良い方法はありますか?migrateDatabaseError: relation "xx_yy" already exists

0 投票する
2 に答える
11167 参照

python - Webdriver と Python を使用してこのモーダル ダイアログを操作するにはどうすればよいですか?

私が望むのは、理想的には次のようにして、モーダル ダイアログを閉じることだけです。

OKNoSuchElementException: Message: u'The element could not be found'リンク テキストを指定します。

これを行うときのxpathについても同じです:

これは、ダイアログに焦点を当てる必要があるためだと思います。そうするために、私は試しました:

NoSuchElementException: Message: u'The element could not be found'クラスのために与えます。

も試しbrowser.switch_to_frame(ID OR NAME)ましたが、フレームとしても見つかりませんでした。

露骨に明らかな何かが欠けていると教えてください。

関連するフレーム ソース (要約):

0 投票する
2 に答える
600 参照

python - レタスでシナリオ間の依存関係を処理するにはどうすればよいですか?

レタスを使ってテスト ケースを定義するのが好きです。多くの場合、レタスのシナリオをアトミックに、またはフィーチャー内の他のシナリオの一部として実行できるように記述するのは簡単です。ただし、Lettuce は、より複雑な統合テストを試して推論し、実装するための便利なツールでもあることがわかりました。このような場合、テストをシナリオに分割することは理にかなっていますが、前のシナリオへの依存関係を定義します。そうすれば、他のどのシナリオを実行する必要があるかを明示的に定義しなくても、シナリオを実行できます。また、シナリオ定義で依存関係を明確にします。これは次のようになります。

次に、次のようなことができます。

この状況をどのように処理しますか?このアプローチで見逃している落とし穴はありますか? API ドキュメントとソース コードをざっと見てみると、文字列でシナリオを取得する簡単な方法があるようには見えませんでした。