Automated Front End Test - Xvfb, Chromedriver, Selenium, Jenkins
Posted 每天更强一点...
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Automated Front End Test - Xvfb, Chromedriver, Selenium, Jenkins相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章
FFmpeg Fate(FFmpeg automated test environment)自动化测试