0

実行中 コード VSTSのビルドからSeleniumを使用したUIテスト。 テストライブラリは、テストエージェント(ホストされ、プライベート)に構築され、Windows 10を実行するVMにコピーされます。テストエージェントがVMにデプロイされ、タスク 'Run Functional Tests'が実行されます。実行されるテストは、VSTSのテストマネージャの関連付けによって選択されます。コード化されたUIテストの画面解像度を指定します。

異なる画面解像度でこれらのUIテストを実行したいのですが、テストエージェントを実行すると、ヘッドレスセッションは常にデフォルトの解像度1024x768で実行されます。私は4kの解像度までテストを実行する必要があります。より高い解像度で同じ資格情報を持つ現在のセッションがある場合、このセッションは "ハイジャックされ"、テストは望ましい解像度で実行されます。 しかし、これらのビルドがスケジュールや別のイベントによってトリガーされている場合、既存のセッションを保証することはできません。 私は既にMSDN articleのレジストリにデフォルトの解像度を指定する方法を従っていますが、Win10でもSrv2012でも動作しません。

このヘッドレスセッションの解像度を指定するテスト/実行設定ファイルにはパラメータ/設定がありますか? 混乱を避けるために:私はブラウザのウィンドウサイズを設定する方法を知っていますが、最大画面解像度に制限されているため、ブラウザーのサイズを変更するSelenium固有のコマンドではこのトリックは行いません)

Anyヒントありがとう!ありがとう!

+1

コード化されたUIテストを実行していますか、またはSeleniumテストを実行していますか?彼らは同じことをするさまざまなツールです。 –

+0

お詫び申し上げます。私は、UIテストを記述するためにコードを使用するため、コード化されたUIテストは汎用的な表現であるという印象を受けました。 明確にするために:私はセレンを使用しています。 ダニエル、それを指摘してくれてありがとう。 – Nessi

+0

セッションを維持しない限り、解像度を変更することはできません。関連するスレッド:[テストエージェントの画面解像度を上げる](https://stackoverflow.com/questions/45829787/increase-the-screen-resolution-テスト中のエージェント) –

答えて

0

Windows環境を使用することを余儀なくされている場合は、ドッカーベースのアプローチが可能です。たとえば、「ドッカーヘッドレスVNCコンテナ」https://github.com/ConSol/docker-headless-vnc-containerをご覧ください。穴のUIは、ホストシステムとは独立した独立したコンテナ環境にカプセル化されているという利点があります。実際のデスクトップUIとブラウザを実行したり、あなたの例でSeleniumテストを実行したりすることができます。コンテナの実行時に、VNCを使用してコンテナを調べることができます。

あなたがここにセレンとセットアップそれをする方法の例を見つける:https://github.com/ConSol/sakuli-examples/blob/master/java-selenium-example/Dockerfile

あなたが特定のDockerfileに次の行 を追加することができます固定値にVNCのソリューションを変更するには:

ENV VNC_RESOLUTION=4096x2160 

へあなたのターゲット環境がどのように実行されるかをテストしてください。

docker run -it -p 6901:6901 -p 5901:5901 --env VNC_RESOLUTION=4096x2160 consol/ubuntu-xfce-vnc 

URL:http://localhost:6901/?password=vncpassword

+0

最後に、これは評価するパスのように聞こえますが、そのためには、.netコア用のテストが必要です。そうでなければ、Ubuntuコンテナでは動作しません。 現在の.NET Framework 4.5.1ソリューションをコアに移行するには、Microsoftが開発したものをいくつか追加する必要があります(例えば、適切なTestContext実装)。 – Nessi

+0

これは.NETに慣れていないので、/testはlinuxで動かなければなりません: - / – toschneck

関連する問題