码迷,mamicode.com
首页 > 其他好文 > 详细

Automated Front End Test - Xvfb, Chromedriver, Selenium, Jenkins

时间:2016-11-22 20:30:21      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:method   this   failure   selenium   clean   shu   nice   using   message   

1. Install Xvfbm, google-chrome-stable and chromedriver in Jenkins

sudo apt-get install -y xvfb google-chrome-stable

Down chromedriver from 

https://sites.google.com/a/chromium.org/chromedriver/

The current version running in my jenkins server is 

Google Chrome version: 54.0.2840.100

Chrome driver version: 2.25

Selenium-Java version: 2.53.0

2. Start Xvfb

To start Xvfb by command line:

Xvfb :7 &

export  DISPLAY=:7

To start Xvfb for each maven buid

<profiles>
        <profile>
            <id>cit-environment</id>
            <activation>
                <activeByDefault>false</activeByDefault>
                <property>
                    <name>build.environment</name>
                    <value>jenkins</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>start-xvfb</id>
                                <phase>process-test-classes</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <configuration>
                                    <tasks>
                                        <echo message="Starting xvfb" />
                                        <exec executable="Xvfb" spawn="true">
                                            <arg value=":1" />
                                        </exec>
                                    </tasks>
                                </configuration>
                            </execution>
                            <execution>
                                <id>shutdown-xvfb</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <configuration>
                                    <tasks>
                                        <echo message="Ending xvfb" />
                                        <exec executable="killall">
                                            <arg value="Xvfb" />
                                        </exec>
                                    </tasks>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

mvn clean install -Dbuild.environment=jenkins will trigger this plugin. Aslo remember to inject DISPLAY env variable during the build.

3. Issues Observed

Sometimes selenium just hangs on calling driver = new ChromeDriver(); So the current temporary solution is to try 10 times in a row to bring up chromedriver, and of course this is not nice. 

Another issue is the page may be loaded too slow in Jenkins, causing the Selenium tests failure. Current temporary solution is to use wait.until method to wait untill an element is available.

Automated Front End Test - Xvfb, Chromedriver, Selenium, Jenkins

标签:method   this   failure   selenium   clean   shu   nice   using   message   

原文地址:http://www.cnblogs.com/codingforum/p/6090446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!