1

Linux サーバーで Maven を使用して、表示なしで TeamCity からセレン テストを実行したい。

Selenium テストの実行中に、TeamCity で次のエラーが発生します。

Failed to execute goal org.codehaus.mojo:selenium-maven-plugin:2.3:xvfb (xvfb) on project my-project:
It appears that the configured display is already in use: :1

x11-fonts*、xvfb、firefox をインストールし、DISPLAY=localhost:1 を抽出し、xvfb を起動しました

pom.xml に次のプラグインを追加しました。

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>selenium-maven-plugin</artifactId>
                    <version>2.3</version>
                    <executions>
                        <execution>
                            <id>xvfb</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>xvfb</goal>
                            </goals>
                            <configuration>
                                <display>:1</display>
                            </configuration>
                        </execution>

                        <execution>
                            <id>selenium</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>start-server</goal>
                            </goals>
                            <configuration>
                                <background>true</background>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

この問題を解決する方法はありますか?

UPD: xvfb はコマンドを使用して実行されています

Xvfb :1 -screen 0 1920x1200x24 > /dev/null 2>&1 &

UPD:テストを実行する前に xvfb を実行しないようにしましたが、次のようになりました:

Execution xvfb of goal org.codehaus.mojo:selenium-maven-plugin:2.3:xvfb failed: Execute failed: java.io.IOException: Cannot run program "xauth": java.io.IOException: error=2, No such file or directory
4

2 に答える 2

1

エラー メッセージは、ディスプレイ番号 1 で実行されている X サーバーが既に存在することを示しています。

x11-fonts*、xvfb、firefox をインストールし、DISPLAY=localhost:1 を展開し、xvfb を起動し…以下のプラグインを追加しました

サーバーを起動した後、プラグインがもう一度サーバーを起動しようとしたようです (そうあるべきです)。事前にxvfbを起動しないようにします (実行しないことを確認してください)。

または、プラグイン構成でディスプレイ番号を完全に取り除くと、空いているディスプレイ番号を見つけようとします。ただし、 xvfb インスタンスは使用されません。

于 2012-06-14T11:00:47.313 に答える
1

pom.xml からプラグイン宣言を削除し (以前のバージョンの Selenium 用であることを知る限り)、xauth をインストールし (それが必要かどうかはわかりません)、すべてが機能し始めました。

于 2012-06-15T05:09:15.427 に答える