2017-08-15 4 views
2

別々のVSソリューションに複数のセレンテストプロジェクトがあり、シナリオが実行される前に実行される同じSetup()メソッドと、 afterのTearDown()メソッド。現在、これらのメソッドに変更が必要な場合は、別々に更新する必要がありますので、これらのメソッドをすべてのテストプロジェクト/ソリューションで使用するために集中管理することを検討していました。複数のセレンプロジェクト間でセッティングとティアダウンメソッドを共有する

私は比較的新しく、事前にお詫びしますが、誰もが私が取ることができるアプローチに関する提案でこれを体験していますか?それも可能ですか?私のテストは現在並行して実行されていないので、これは私が調べる必要があるものですか?

+0

セットアップとティアダウンの機能を作成してから、 'Setup()'と 'TearDown()'からそれらを呼び出すことはできません。そうすれば、すべてがその2つの機能に集中します。 – JeffC

+0

こんにちはJeffC。残念ながら、残念ながら、各テストプロジェクトは独自のソリューションになっており、達成しようとしているプロジェクトとソリューションでこの2つの機能を共有しています。それは理にかなっていますか? –

答えて

-1

短いストーリーを維持する - メタフレームワークを作成する必要があります。

By概念メタ・フレームワークは、より大きな自動化戦略の一環として複数のパーツを自動化するという問題を解決する方法を提供します。テスタは、任意のオートメーションツールで一般的に使用できる独立したユーティリティクラスを定義し、異なるオートメーションプロジェクト間で再利用することもできます。このフレームワークは抽象化レイヤーを提供しており、この抽象化レイヤーにより、別々の自動化部分が実行され、その結果が標準化された形で報告されます。

私にはpost on the topicがありますので、そこに必要なものを自由に取ってください。

VisualStudioにタグを付けたので、私のチームがテストプロジェクト間で共通の機能を共有するために使用したアプローチをまず共有します。あなたが必要とするのはプライベートなNugetサーバーです。各チームは、提供するサービスに基づいてNugetパックをコンパイルしてサポートします。たとえば、セレンコード、APIコールなど

次はおそらくgit submodulesを利用し、プロジェクト間でテストharness engineを共有することになります。

どちらの方法も、Shared Fixture ConstructionのようなFixture Setup Patternsのメリットがあります。

+0

これは、このような単純な問題を解決するために過度に複雑に思えます。なぜこれを行うにはプライベートなNuGetサーバなどが必要でしょうか? – JeffC

+0

コードを非公開にする。あなたはあなたのパッケージを保護し、プロジェクト間で共有したいのですか?これは私のチームのために働いていた時代のことです。他のオプションも有効です@JeffCあなたが良いものを持っている場合は、共有して問題を解決してください。 – ekostadinov

+0

こんにちは。あなたが提供した情報を調べてお知らせします。私はこの段階でプライベートなNugetサーバーを持つことができないことを知っていますが、何らかの方法で現在のインフラストラクチャを利用できるかもしれません。 –

0

コードを変更すると、 [OneTimeSetUp]と[OneTimeTearDown]はどのようになりますか?セットアップのための1つのクラスを作成する必要があり、私の意見では

は、セットアップが含まれており、このパブリッククラスHREmployeeListのような設定を追加しヨールテストに続い取り壊す:セットアップ

うまくいけば、ちょうどリンク http://toolsqa.com/selenium-webdriver/c-sharp/how-to-write-selenium-test-using-nunit-framework/

+0

こんにちはユンインダ。私はこれを見て、私が逃したものがあるかどうかを見て、それがどうなったかについてあなたに戻ってきます。残念ながら、テストプロジェクトは別々のソリューションの中にあり、すべてのプロジェクト/ソリューションでこれらのセットアップとティアダウンの機能を共有する方法です。そのアプローチを完全に変更する必要があるかもしれませんが、私はそのような作業を行う前に確かに知りたいと思います。 –

0
の下にこれをチェック助けますか

あなたができることの1つは、セットアップとティアダウンのための関数を含む新しいプロジェクトを作成し、そのコンパイルされたdllを他のすべてのプロジェクトに含めることです。 setup/teardownを変更する必要がある場合は、変更を加えて新しいdllをコンパイルし、コード変更が他のすべてのプロジェクトに渡されます。

+0

これは良い@JeffCと聞こえる。私はまだ他の仕事の中でこのことを試している最中ですが、私はできるだけ早く更新します。ありがとうございました。 –

関連する問題