Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)

Jenkins简介浏览器

  Jenkins是Java编写的很是流行的持续集成(CI)服务,起源于Hudson项目。因此Jenkins和Hudson功能类似。服务器

  Jenkins支持各类版本的控制工具,如CVS、SVN、Git、Mercurial、Perforce和ClearCase,并且能够执行用Apache Ant或Java Maven构建的项目。同时,它也能够利用一些插件、Shell脚本和Windows批处理命令来构建其余平台的项目。框架

  Jenkins除了构建软件功能外,还能够用于搭建自动化测试环境,好比实现Python Selenium测试的无人值守的状况下按照预约的时间调度运行(如晚上),或者每次代码变动提交至版本控制系统时实现自动运行的效果。工具

  下面,我将演式如何搭建Jenkins并建立一个自由风格的软件项目在无人值守的状况下按预约时间自动化测试(基于Python Selenium自动化测试)。post

Jenkins环境准备  测试

  为了可以成功使用Jenkins执行测试,咱们须要作一些修改。目标是在Jenkins上按计划执行测试,而后收集测试结果并显示在Jenkins Dashboard页面。为了实践,我将重用以前建立的百度冒烟测试。ui

  我使用了unittest的TestSuite Runner批量执行测试,并以JUnit报告的格式输出测试结果。这里须要用到Python下的xmlrunner库。执行如下命令下载与安装xmlrunner。插件

  pip install xmlrunner3d

  百度冒烟测试脚本在经过TestSuite Runner运行homepagetests.py和searchtests.py两个脚本中的测试。最后用xmlrunner.XMLTestRunner来运行冒烟测试并生成JUnit测试报告。此报告以XML格式生成,保存在test-reports子文件夹中。代码以下:版本控制

    

  生成的XML格式的report以下:

  

搭建Jenkins

  搭建Jenkins简单。下载系统平台的Jenkins包并进行安装。下面我将安装并启动Jenkins,而后建立一个新的构建做业以对上面的脚本进行在无人值守的状况下按照预约的时间调度运行(百度冒烟测试)。

  1)下载并安装Jenkins CI服务器。我下载的是Jenkins Windows安装包,并在Windows7上安装Jenkins。

  2)从浏览器进入Jenkins Dashboard页面(默认状况下为http://localhost:8080)。

  3)在Jenkins Dashboard页面上,单击新建项目(New Item)连接,建立一个新的Jenkins做业,以下图所示:

   

  4)在项目名称(Item name)文本框中输入Baidu_Smoke_Test,而后选择构建自由风格的软件项目(Freestyle project)单选按钮,以下图所示:

   

  5)单击肯定(OK)按钮。以上指定名称命名的新做业就建立成功了。

  6)在构建(Bulid)部分,单击增长构建步骤(Add build step),而后从下拉列表中选择执行Windows批处理命令(Execute Windows batch command)选项,以下图所示:

   

  7)在命令(Command)文本框里输入如下命令,以下图所示。这个命令将冒烟测试的Python脚本文件复制到Jenkins工做空间下并执行smoketest.py。

   

  8)在前面已经配置了smoketest.py以生成JUnit格式的测试结果,并将测试结果显示在Jenkins Dashboard页面。要在Jenkins中集成这些报告,先单击增长构建后操做步骤(Add post-build action),而后选择发布JUnit测试结果报告(Publish JUnit test result report)选项,以下图所示:

   

  9)在构建后操做(Post-build Aactions)部分中,在测试报告XML(Test report XMLs)文本框中添加test-report/*.xml,以下图所示。Jenkins每次运行测试的时候,它将从test-reports子文件夹中读取测试结果。

   

  10)因为须要按计划时间自动执行测试,在构建触发器(Build Triggers)部分选择按期构建(Build periodically),并在计划(Schedule)文本框中输入以下图所示数据。那么,天天下午18:24构建过程将自动触发,做为无人值守构建过程的一部分,Jenkins也将自动执行测试,这样在次日早上当你到达办公室的时候就能够看到测试执行结果了。

   

  11)单击保存按钮保存做业配置,Jenkins将会显示新建立的做业项目页面。

  12)如今能够来检测一下全部的配置是否设置好,测试是否能成功执行。单击当即构建(Build Now)连接手动运行该做业,以下图所示:

   

  13)在构建历史(Build History)部分中能够查看构建的运行状态,以下图所示:

   

  14)单击构建历史(Build History)部分中正在运行的项目,将打开以下图所示的页面。

   

  15)除了Jenkins页面上的执行状态和进度条,还能够经过打开控制台输出(Console Output)连接观察后执行信息。以下图是有命令输出信息的“控制台输出”页面。

   

  16)一旦Jenkins完成构建过程,就能够看到一个相似于下面截图所示的构建页面。

  17)Jenkins经过读取unittest框架生成的测试文件,在页面上显示测试结果和其余各项指标。单击构建页面上的测试结果(Test Results)连接能够查看Jenkins保存的测试结果。

  18)以前配置的测试结果以JUnit格式生成。当单击测试结果(Test Results)时,Jenkins将会显示JUnit测试结果,以下图所示,显示测试结果摘要,其中失败的测试会高亮显示。

   

  19)咱们也能够单击Package名字的连接来查看各个测试的详细结果信息,以下图所示:

   

  20)Jenkins还会如下图所示的格式在Dashboard主页上显示全部构建做业的最终状态信息。

   

  综上所述,经过搭建Jenkins运行Python Selenium测试,从而实现天天晚上在无人值守的状况下自动构建程序和执行测试。即实现了简单的持续集成测试。

相关文章
相关标签/搜索