2

私たちの (RoR 2.3.5) Web サイトの古い統合テストをいくつか修正しています。いくつかのシナリオ (およびその動作) は、複数のユーザーが同時にログインすることに依存しています。むかしむかし、これらは機能していました... 3人のエンジニアと18か月前。

私たちの基本的なシナリオはキュウリで書かれており、カピバラはセレンにバインドされています。想像できる Capybara::Session.new と open_session のすべてのバリエーションを試しました。これらはプログラム的には成功しますが、既存のセレン ウィンドウを引き続き使用します。または、いくつかのテスト方法が存在しないという結果になります。

また、「セカンダリ」セッションに webrat を使用してみましたが、シナリオの 1 つのステップでドライバーを切り替えるようにキュウリを説得することはできません (ただし、シナリオ間で切り替えることはできます)。

私は完全にことわざの小川を上っていますか?セレンがセッション状態を共有しないように、複数のブラウザを複数のUNIXユーザーとして開き、Webサイトにログインするのは素晴らしいことです。しかし、私はそれをハッキングし始めるためにどこを見ればいいのかさえわかりません.

正直なところ、この時点では、自分がどのツールを使用していて、どのツールがどの機能を担当しているのかさえわかりません。カピバラとキュウリのコードに飛び込むと、数百行のメタプログラミング マジックが生成され、何らかの形でテスト フレームワークに組み込まれます。以前の若々しい熱意にもかかわらず、TDDが本当に嫌いになりました。

4

1 に答える 1

5

0.4.0.rc にアップグレードしてみてください。Selenium では、複数のセッションが許可されるようになりました (これにより、複数のブラウザーが起動されます)。ただし、高レベルの API はまだないため、セッションを手動でインスタンス化して操作する必要があります。

于 2010-10-14T17:39:12.723 に答える