2017-09-15 16 views
0

Visual Studio Team Services(VSTS)を使用して自動展開した後、セレンのエンドツーエンドテストを実行する際に問題が発生します。Visual Studioチームサービスでの展開後にSeleniumテストを実行する方法

ビルドアーチファクトを生成するビルド作業があります。これはVSTSからトリガーされますが、構内ビルドサーバーで実行されます。私は、オンデマンド開発Webサーバーにデプロイするデプロイメント作業を行っています。これは、ビルド後に実行される単体テストを含めてすべて動作します。

デプロイメント後にテストを追加しようとすると、問題が発生します。テストはビルドサーバー上で実行され、devサーバーのWebサイトを指します。展開には2つのフェーズがあります。デプロイ、次にビルド・サーバー上のビルド・エージェントを使用してテスト・アセンブリ・タスクを実行するエージェント・フェーズ。問題は、テストDLLがビルド成果物に含まれていないため、テストプロセスが実行されたときに検出されないことが原因です。次のようにsetup usを展開します。

Deployment with test assemblies open

適切な場所にしてファイルをコピーするようだが、彼らはzipファイルのアーティファクトには含まれていないビルド定義にアーティファクトを公開する前に、私はコピーのファイルを持っています。私はここにいくつかのウェブサイトや記事を見てきましたが、私はまだこの作業をする重要な知識を欠いているようです。

Build def with copy open

+0

ため

おかげで、あなたは、詳細ビルドを共有し、OneDrive上のログファイルを解放してもらえますか? (system.debug変数をtrueに設定し、定義を解放するためにsystem.debug変数を追加し、ビルドをキューに入れ、リリースを開始してログを共有します) –

+0

テストアセンブリ名は何ですか?ファイルのコピータスクの内容は '* Selenium * .dll'ですが、Visual Studioのテストタスクのテストアセンブリは' * test * .dll'です。一方、ReleaseのBuildConfiguration変数の値は何ですか? (デフォルトでは、BuildConfiguration変数はありません) –

+0

テスト用のDLLはseleniumtests.dllと呼ばれますので、両方の検索パターンで取得されます。その理由はセレンであり、もう一方はそうではありません。なぜなら、私はそれらのファイルをコピーしたいだけですが、後で他のものをコピーするかもしれないからです。すべてどこかに文字列テストがあります。ビルド設定変数はあらかじめ定義されています。 https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=batch –

答えて

0

ログの使用していることに感謝して推奨されているように助けをしました。

私はこれを実現することができました。私は、セレンテストを別のソリューションに分け、それを独自にビルドアーチファクトとして作成しました。次に、これを展開のエージェントタスクに追加しました。これはうまくいった。ここでソートする必要があるのは、テストDLLを見つける正しい検索パスだけです。現時点で私が望むほどダイナミックではありません。私はそれを得るまで私はそれに曲を再生することができます。

私は、元の問題を解決するのではなく、必要性とタイムスケールを解決するのではなく、これを回避することを認めます。私は、主な解決策からエンド・ツー・エンドのUIテストを動かすことはとにかく意味をなさないと思いますが、他の人たちが違う考えをするかもしれないことは間違いありませんあなたの助けみんな

関連する問題