2016-08-16 6 views
0

私はFitnesseを使って一連のテストを行っています。一度に1つの値しか返さないようにするために、私は一連のアサーションテストを行っています。特定の要素がページに存在するかどうかを確認してください。 fitnesseの各テストは順番に実行されます。つまり、テストごとにドライバインスタンスが破棄されます。複数のPythonスクリプトの中にセレンドライバを残しておく

機能的ですが、このような単純なチェックはほとんどの時間をブラウザーの開閉に費やすので、このアプローチは適切ではありません。

私はドライバを漬けようとしましたが、それほど成功しませんでした。私も延々と別のPythonスクリプトを実行し、そこからドライバにアクセスしようとした

TypeError: can't pickle file objects 

が、その後これを含むすべてのスクリプトはまた、無限ループに巻き込ま:私が得ます。

+0

1年前にJava FixtureでFitnesseで1週間の経験をしていますが、SuiteSetUpやSuiteTearDownのような特別なページがあることを覚えています。あなたのケースではうまくいかないでしょうか。 – Grasshopper

答えて

0

私のお勧めは、テストをより良く構成し、各テストケースに独自のインスタンスがあることに慣れることです。 &のファスト・ケースが本当に小さい場合は、それらをネストすることをお勧めします。

そうでなければ、私はwebdriverの1つのインスタンスを持つことができるシングルトンパターンについて読むことをお勧めします。ここでの実装例をいくつか見つけることができます。セレンシングルトンを検索するだけです。がんばろう!

0

TestNGに@BeforeSuiteアノテーションのようなものがあるはずです。 これがあれば、それを活用して、すべてのテストで使用されるドライバの作成をインスタンス化することができます。

ドライバ変数を持つBaseTestClassを使用して正常に実装しました。このドライバを@BeforeSuiteメソッドで設定していますが、すべてのテストで共有されています。 このアプローチにはいくつかの課題がありますが、ドライバーが一般的なためテストを並行して実行することはできません。

関連する問題