Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在jenkins build下以无头模式运行测试用例时出错 背景_Java_Jenkins_Selenium Webdriver_Maven 2_Xvfb - Fatal编程技术网

Java 在jenkins build下以无头模式运行测试用例时出错 背景

Java 在jenkins build下以无头模式运行测试用例时出错 背景,java,jenkins,selenium-webdriver,maven-2,xvfb,Java,Jenkins,Selenium Webdriver,Maven 2,Xvfb,我有一个用spring boot和maven设计的项目。它包含我希望在jenkins构建中以无头模式运行的测试用例。为此,我已在jenkins build machine上安装了XVfb,并确保XVfb正在运行 $ps -ef | grep Xvfb root 3804 1 0 Sep29 ? 00:52:41 Xvfb -ac :99 -screen 0 1280x1024x16 接下来,我还在构建开始时导出DISPLAY变量,如下所示 export DIS

我有一个用spring boot和maven设计的项目。它包含我希望在jenkins构建中以无头模式运行的测试用例。为此,我已在jenkins build machine上安装了
XVfb
,并确保
XVfb
正在运行

$ps -ef | grep Xvfb
root      3804     1  0 Sep29 ?        00:52:41 Xvfb -ac :99 -screen 0 1280x1024x16
接下来,我还在构建开始时导出DISPLAY变量,如下所示

export DISPLAY=:99
错误 如果出现以下stackstrace,测试无法执行

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: no display specified
Error: no display specified

at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:191)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:99)
org.openqa.selenium.firefox.NotConnectedException:45000毫秒后无法连接到端口7055上的主机127.0.0.1。firefox控制台输出:
错误:未指定显示
错误:未指定显示
位于org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
位于org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:114)
位于org.openqa.selenium.firefox.FirefoxDriver(FirefoxDriver.java:191)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:186)
位于org.openqa.selenium.firefox.FirefoxDriver(FirefoxDriver.java:182)
位于org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:99)
pom.xml

4.0.0
org.abc
基础知识
基础知识
战争
org.springframework.boot
spring启动程序父级
1.1.7.发布
openqa
OpenQA存储库
http://nexus.openqa.org/content/repositories/releases/
假的
真的
codehaus快照存储库
http://snapshots.repository.codehaus.org/
真的
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
弹簧启动机tomcat
org.springframework.boot
spring启动程序日志记录
org.springframework.boot
弹簧靴起动器码头
org.springframework.boot
spring启动程序日志记录
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
spring启动程序日志记录
org.springframework
spring上下文支持
公用记录
公用记录
org.springframework.boot
弹簧启动安全
公用记录
公用记录
org.springframework.security
spring安全ldap
org.springframework.ldap
SpringLDAP核心
2.0.2.1发布
LdapSDK
LdapSDK
1
假如
opentoken适配器
opentoken适配器
2.5.1
假如
org.springframework.boot
弹簧起动试验
测试
org.mockito
莫基托所有
1.9.5
测试
信息杯
黄瓜之春
1.1.6
测试
信息杯
黄瓜刺柏
1.1.6
测试
org.seleniumhq.selenium
硒爪哇
2.44.0
测试
org.seleniumhq.selenium
selenium firefox驱动程序
2.44.0
测试
com.codeborne
幻影驱动程序
1.2.1
回写
回归经典
org.slf4j
jcl-over-slf4j
javax.mail
邮件
1.4.7
亚马逊网站
aws java sdk
1.8.11
org.apache.velocity
速度
假如
公地io
公地io
2.4
公地收藏
公地收藏
公用记录
公用记录
1.2
假如
公地郎
公地郎
2.6
假如
com.belerweb
qq连接
1.0.2
org.subethamail
次乙酸钠
3.1.7
测试
org.apache.ant
蚂蚁
1.9.3
通用编解码器
通用编解码器
1.6
com.jayway.jsonpath
json路径
测试
com.jayway.jsonpath
json路径断言
1.2.0
测试
net.sf.json-lib
json库
2.4
jdk15
测试
src/test/ui
目标/集成测试类
8000
UTF-8
org.healthfidelity.hfiam.Application
1.6
org.codehaus.mojo
构建助手maven插件
添加测试源
预集成测试
添加测试源
src/test/ui
org.apache.maven.plugins
maven surefire插件
2.18
**/IT*.java
org.apache.maven.plugins
maven故障保护插件
2.18
集成测试
验证
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.abc</groupId>
<artifactId>ABC</artifactId>
<name>ABC</name>
<packaging>war</packaging>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.7.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<repositories>
    <repository>
        <id>openqa</id>
        <name>OpenQA Repository</name>
        <url>http://nexus.openqa.org/content/repositories/releases/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>codehaus snapshot repository</id>
        <url>http://snapshots.repository.codehaus.org/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
    </pluginRepository>

    <!-- <pluginRepository> <id></id> </pluginRepository> -->
</pluginRepositories>

<dependencies>
    <!-- Spring dependencies -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <!--Spring security -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <!-- Spring LDAP -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-ldap</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.ldap</groupId>
        <artifactId>spring-ldap-core</artifactId>
        <version>2.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>LdapSDK</groupId>
        <artifactId>LdapSDK</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
    </dependency>

    <!-- IDM specific jars -->
    <dependency>
        <groupId>opentoken-adapter</groupId>
        <artifactId>opentoken-adapter</artifactId>
        <version>2.5.1</version>
        <scope>provided</scope>
    </dependency>

    <!-- Test tools -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.9.5</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-spring</artifactId>
        <version>1.1.6</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.1.6</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.44.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.44.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.2.1</version>
    </dependency>

    <!-- LogBack dependencies -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
    </dependency>

    <!-- JAVA mail dependency -->
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.7</version>
    </dependency>

    <!-- Amazon AWS SDK -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>1.8.11</version>
    </dependency>

    <!--Templating engine -->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <scope>provided</scope>
    </dependency>


    <!--Others -->
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.4</version>
        <exclusions>
            <exclusion>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
        <scope>provided</scope>
    </dependency>


    <dependency>
        <groupId>com.belerweb</groupId>
        <artifactId>qq-connect</artifactId>
        <version>1.0.2</version>
    </dependency>

    <dependency>
        <groupId>org.subethamail</groupId>
        <artifactId>subethasmtp</artifactId>
        <version>3.1.7</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>1.9.3</version>
    </dependency>

    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.6</version>
    </dependency>
    <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path-assert</artifactId>
        <version>1.2.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>
        <classifier>jdk15</classifier>
        <scope>test</scope>
    </dependency>


</dependencies>

<properties>
    <integrationSourceDirectory>src/test/ui</integrationSourceDirectory>
    <integrationOutputDirectory>target/integrationtest-classes</integrationOutputDirectory>

    <jetty.port>8000</jetty.port>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <start-class>org.healthfidelity.hfiam.Application</start-class>
    <java.version>1.6</java.version>
</properties>

<build>
    <plugins>

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>add-test-source</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>add-test-source</goal>
                    </goals>
                    <configuration>
                        <sources>
                            <source>src/test/ui</source>
                        </sources>
                    </configuration>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.18</version><!--$NO-MVN-MAN-VER$ -->
            <configuration>
                <excludes>
                    <exclude>**/IT*.java</exclude>
                </excludes>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.18</version><!--$NO-MVN-MAN-VER$ -->
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>8.1.16.v20140903</version>
            <configuration>
                <war>${basedir}/target/HFIam.war</war>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <stopKey>foo</stopKey>
                <stopPort>1234</stopPort>
                <useProvidedScope>true</useProvidedScope>
                <daemon>true</daemon>
                <webApp>
                    <contextPath>/HFIam</contextPath>
                </webApp>
                <connectors>
                    <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                        <maxIdleTime>3600000</maxIdleTime>
                        <port>${jetty.port}</port>
                    </connector>
                </connectors>

            </configuration>
            <executions>
                <execution>
                    <id>start-jetty</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>run-war</goal>
                    </goals>
                </execution>
                <execution>
                    <id>stop-jetty</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>selenium-maven-plugin</artifactId>
        </plugin>

    </plugins>
</build>