Sikuliを実行しているヘッドレステストサーバーがある場合(ubuntuとwindowsの両方の構成が必要です)、物理モニターなしで、できればできるだけ多くの画面解像度でサーバーを動作させる方法。
Sikuliをヘッドレスモードで実行しました(物理モニターは接続されていません)。
Ubuntu:Xvfbを確認します。
Windows:仮想ボックスゲスト追加ディスプレイドライバーからマシンに(ヘッドレスになるように)ディスプレイドライバーをインストールし、TightVNCを使用して別のマシンからリモートで解像度を設定します。
Windows 7の詳細な手順
と仮定する:
手順:
ドライバーの抽出
-32ビットドライバーを「C:\ Drivers」に抽出するには、次の手順を実行します。
-64ビットドライバーの場合:
Goto Device Manager
ハードウェアを追加する
再起動してVNCビューアに接続すると、画面の解像度を変更できるようになります
launchpad に関するその他の貴重な情報。
SikuliXをWindows 2016クライアントシステムでGCEの真のヘッドレスモードで動作させました。ダクトテープやその他のRube Goldbergの仕掛けが機能するのに必要ですが、それは可能です。
問題は、GCE(およびおそらくAWSおよび他のクラウド環境のWindowsクライアント)の場合、仮想ビデオアダプターとディスプレイがないため、クライアントへのオープンRDP接続がない限り、画面がないことです。 、SikuliX/OpenCVは1024x768の黒いデスクトップを取得して失敗します。
したがって、問題は、実際の画面がどこにもない状態でRDP接続を作成する方法です。これはXvfb(X Windows仮想フレームバッファー)を使用して行いました。ただし、これには2番目のVMが必要です。 XvfbはLinux上で動作します。パズルのもう1つのピースはxfreerdp 2.0です。 2.xバージョンは、最新バージョンのWindowsとの互換性のために必要です。 1.xは一部のLinuxディストリビューションに含まれています。 2.xは、使用しているLinuxの種類によっては、ソースからビルドする必要がある場合があります。私はCentOSを使用していますが、自分でビルドする必要がありました。
ヘッドレスRDPセッションを確立するコマンドは、準備が整ったら、次のようになります。
/usr/bin/Xvfb :0 -screen 0 1920x1080x24 &
export DISPLAY=:0.0
/usr/local/bin/xfreerdp /size:1920x1080 /u:[WindowsUser] /p:"[WindowsPassword]" /v:[WindowsTarget]
私たちの環境では、Jenkinsによって開始されたビルドジョブの一部としてこれを自動化しました。これをJenkinsスレーブの下で機能させるには、サービスではなくユーザープロセスとしてJenkinsスレーブを実行することも必要でした...これは、自動管理ログインを有効にし、スレーブ起動スクリプトを実行として設定することで実行できます( logon)コマンド。
Ec2 Windowsマシンで自動化を検討している人にとって、これは私にとってうまくいきました: http://www.allianceglobalservices.com/blog/executing-automation-suite-on-disconnectedlocked-machines
要約すると、私はRDCを使用して接続し、次のコードをリモートデスクトップのバッチファイルに入れてダブルクリックすると、sikulixがリモートで動作し始めました(同時にRDCから追い出されました)。 tsconが処理を引き継ぐとき、ec2 Windowsマシンはデフォルトで1024x768になり、小さすぎる可能性があるため、実行前にTightVncを使用して解像度を1280x1024に上げることができます。
tscon.exe 0 /dest:console
tscon.exe 1 /dest:console
tscon.exe 2 /dest:console
tscon.exe 3 /dest:console
START /DC:\Sikulix /WAIT /B C:\Sikulix\runsikulix.cmd -d 3 -r C:\test.sikuli -f C:\Sikulix\log.txt -d C:\Sikulix\userlog.txt