2013-01-14 7 views
10

作業中、私たちはGUIコンポーネントを完全にテストします。この問題は、テストスイートが実行されている間に、さまざまなコンポーネントがポップアップし、フォーカスを盗んだり、作業を続行できなくなったりすることによって発生します。私が最初に思ったのはXnestでしたが、この問題に対するより洗練された解決方法があるのだろうかと思っていました。テスト用の偽のXサーバーですか?

答えて

9

ここで行う必要があることは、作業中のディスプレイとは異なるディスプレイでテストを実行することだと思います。

TeamCityエージェントをEC2に移行したとき、ヘッドレスLinuxサーバーでUIユニットテストを実行するソリューションを見つけなければなりませんでした。このblog postでXvfbの使い方の概要を説明しました。私の場合のために

、私がしなければならなかったすべてはだった:

  • yum install xorg-x11-server-Xvfb
  • Xvfb :100 -acサーバを実行します。マシンの起動時にEC2エージェントのrc.localファイルにこれを追加しました。
  • それから私は、私はあなたのソリューションを試してみましたが、残念ながら私のテストは、セグメンテーションフォールトでクラッシュ私のチームシティーのビルド構成に
+0

env.DISPLAY :100を追加しました。私はたくさんのもの、特にQtとOpenGLを使用しています。標準的なXサーバで動作するかもしれないが、Xvfbで動作しないものは何か知っていますか? –

+1

@StefanoBorini残念ながら。私の理解は、それが「本当の」Xサーバのように振る舞うはずですが、もちろん何かと同様に実装に問題があるかもしれません。クイックグーグルはこのバグを見つけました:https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/296230回避策はXvfbを-extension GLX – sharakan

+0

で起動することでした。明日は試してみます。ありがとう。あなたは非常に役に立ちました。 –

関連する問題