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.

时间: 2024-08-04 21:06:35

Automated Front End Test - Xvfb, Chromedriver, Selenium, Jenkins的相关文章

selenium+jenkins网页自动化测试的构建

jenkins+selenium可以做到对web自动化的持续集成. Jenkins的基本操作: 一.新建视图及job 新建视图: 新建job: 可以选择构建一个自由风格的软件项目或者复制已有的item 二.准备工作:   安装Jenkins插件,SSH plugin ,Email Extension Plugin ,Hudson Seleniumhq plugin 点击系统管理->管理插件 在可选插件面板Filter中输入插件名,勾选复选框,点击直接安装,安装完成后重启Jenkins 三.重启后

连载三:RobotFramework+Selenium+Jenkins分布式构建

目标:Jenkins安装在服务器上,而使用Jenkins调用本机的脚本并在本机执行. 步骤: (1)需要有RobotFrameWork+Selenium的运行环境: python2.7,Robotframework,selenium2library,databaselibrary,PyMySQL (2)在jenkins上面添加节点: (3)创建任务并进行配置: 详细介绍: (1)略,在连载二里面有说明. (2)启动Jenkins以后,建议通过谷歌或者火狐浏览器来访问,然后按照以下步骤来添加节点

selenium+jenkins+maven+testNG搭建持续集成环境

为了简明起见,分几大部分,很基础的细节就不详述了 一·安装jenkins 二·创建一个maven项目的job 2.1   填上SVN的Repository URL 2.2  由于是在本地执行maven命令,所以添加构建步骤:Execute windows batch command  写入以下命令(注意需要在pom.xml文件中加上maven的插件,pom.xml文件在后面) cd D:\Program Files (x86)\Jenkins\workspace\ZZTHaiWaiGouKeZh

ChromeDriver+Selenium安装

介绍 Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击.下拉等操作 ChromeDriver是一个Chrome浏览器驱动,用于驱动Chrome浏览器完成相应的操作 Selenium的安装 相关链接 官方网站 Github PyPI 官方文档 安装步骤(Windows/Linux通用) 执行安装命令:pip install selenium 验证是否安装成功 进入Python命令行交互模式:python 导入Selenium库:import selenium 如

C# extract multiples from web pages based on OpenQA.Selenium.Chrome and ChromeDriver

1.Install latest Chrome,Selenium.WebDriver, ChromeDriver Selenium.WebDriver 3.141.0; Selenium.WebDriver.ChromeDriver 78.0.3904.7000; Google Chrome Version 78.0.3904.70 (Official Build) (64-bit); 2. using OpenQA.Selenium.Chrome; using OpenQA.Selenium;

初识Jenkins

研究了下自动化持续集成工具 ,大概记录下 1.安装 Jenkins安装有2种方式 ,exe方法 和war包方式 注:不管哪种方法安装,前提条件必须jdk环境配置成功 2.安装步骤: 把下载好的放在Tomcat的 webapps 下面 , 然后启动tomcat 3.验证Jenkins是否安装成功 打开浏览器输入: http://localhost:8080/jenkins 可以正常显示说明jenkins配置成功 首先进入上面的页面,此时是不知道的密码的,把红色的链接复制出来 用文本的方式打开,把里

Selenium来抓取动态加载的页面

一般的爬虫都是直接使用http协议,下载指定url的html内容,并对内容进行分析和抽取.在我写的爬虫框架webmagic里也使用了HttpClient来完成这样的任务. 但是有些页面是通过js以及ajax动态加载的,例如:花瓣网.这时如果我们直接分析原始页面的html,是得不到有效的信息的.当然,因为无论怎样动态加载,基础信息总归是包含在初始页面中得,所以我们可以用爬虫代码来模拟js代码,js读取页面元素值,我们也读取页面元素值;js发送ajax,我们就拼凑参数.发送ajax并解析返回的jso

C# selenium环境配置

1.下载C#selenium selenium官网:  http://www.seleniumhq.org/download/ 下载后解压: 打开net35后,将里面的dll文件添加到ranorex中: 2.浏览器环境配置 将需要用到的浏览器chrome,firfox,等exe所在的文件 夹添加到系统变量path中去,必要的时候需要重启电脑: 这一步很重要,否则运行下面的脚本打开不了浏览器,需要在脚本中添加浏览器地址 3.本地运行脚本: using Selenium; using OpenQA.

【持续集成】GIT+jenkins+snoar——jenkins发布php、maven项目

一.持续集成 1.1 什么是持续集成? continuous integration (CI),持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员,每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化构建(包括编译.发布.自动化测试)来验证,从而尽快的发现集成错误.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件. 1.2 持续集成最佳实践 维护一个单一的代码库 使构建自动化 执行测试是构建的一部分 集成日志及历史记录 使用统