【Jenkins基础教程】WEB自动化项目配置

WEB自动化项目配置

配置 Git/GitHub

  现在越来越多的项目开始使用 Git 进行代码的版本管理,这里介绍基于 Git/GitHub 的Jenkins 配置。
  第一步,进入 Jenkins 首页,单击“Manage Jenkins”→“Global Tool Configuration”选项,找到 Git 选项,如图所示:

  在“Path to Git executable”选项中填写 Git 可执行文件的本地路径,如 C:\ProgramFiles\Git\bin\git.exe,单击“save”按钮保存配置.
  第二步,回到 Simple test 中的配置。
  (1)在github上选择要测试的项目,复制项目URL:

  (2)勾选“Github 项目”,填写“项目 URL”(即 GitHub 项目地址),如图所示:

(2)在“源码管理”中勾选“Git”选项,

  •  Repository URL:填写 GitHub 项目地址。
  • Branch Specifier (blank for 'any'):设置项目分支,默认为 master 分支。
  • Repository browser:源码库浏览,默认为 Auto。

 (3)在"构建触发器"中勾选“Poll SCM”选项,通过轮询的方式检测Git 仓库的更新,并执行构建任务,如图所示:

  Schedule:设置轮询时间。“H/2 * * * * ”表示每两分钟检查一次项目是否有新提交的代码,如果有,就将新提交的代码拉取到本地。

  保存之后,即可向 pyautoTest 项目仓库提交代码,通过 SCM 轮询检查项目更新并拉取代码。

  Simple task 首页会多出一个“Git 轮询日志”选项,单击查看 Git 轮询日志,如图所示:

配置项目运行 

通过前面的配置并执行构建, pyautoTest 项目代码已经拉取到 Jenkins 目 录(…\Jenkins\workspace\Simple task\),pyautoTest 项目代码如图所示:
打开 Simple test 首页,单击“Configure”选项,重新配置任务,修改构建命令如下:

单击“保存”按钮,保存任务并重新执行构建,构建日志如下:

通过构建日志可以看到,自动化项目已经通过 Jenkins 被执行了。

配置 HTML 报告

  在 pyautoTest 项目中,通过 pytest-html 插件可以生成 HTML 报告,接下来,在 Jenkins中配置 HTML 报告的查看,再次单击“Configure”选项进行配置。
  找到“构建”选项,单击“Add build setup”按钮,勾选“Execute system Groovy script”选项,在“Groovy script”中添加:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

  Jenkins 在静态文件头中引入了 Content-Security-Policy , 在 Jenkins 中具体为DirectoryBrowserSupport,它为 Jenkins 的 HTML/JavaScript、用户目录以及文档等设置了非常严格的权限保护。不过,这会导致当通过 Jenkins 查看 HTML 报告时丢失 CSS 样式,执行上面的脚本将清除文件的权限保护。
  找到“Post-build Actions”选项,单击“Add post-build action”按钮,配置“Publish HTMLreports”,如图所示:
  • HTML directory to archive:用于指定测试报告目录,这里设置为 test_report。
  • Index page[s]:指定测试报告的索引页面,这里配置为**/report.html,表示匹配某目录下的 report.html 文件。
  • Keep past HTML reports:是否保存旧的 HTML 报告。
  • Include files:配置文件,根据提示填写**/*.html。
  查看 Simple task 首页,可以发现增加了一个 HTML Report 选项,如图所示:

单击“HTML Report”选项,可查看历史构建生成的测试报告列表,如图所示:

配置构建统计

有时需要直观地查看历史构建情况,这时 pyautoTest 生成的 XML 格式的报告就派上用场了。
单击“Configure”选项,继续进行任务的配置。找到“Post-build Actions”选项,单击“Add post-build action”按钮,配置“Publish JUnit test result report”,如图所示:

测试报告(XML):指定测试报告目录下面的 XML 文件,如/test_report/**/*.xml。重新保存任务并执行构建,XML 报告统计如图所示:

页面右侧是“测试结果趋势”,可以帮助我们查看自动化测试的历史运行情况。单击“最新测试结果”,可以查看更详细的 XML 测试报告:

配置自动发送邮件

 自动发送邮件也是常用功能之一,这里将介绍如何配置自动发送邮件。

第一步,在 Jenkins 首页,单击“系统管理”→“系统设置”选项。
(1)单击“Jenkins Location”选项,配置“System Admin e-mail address”,如图所示:

Jenkins 将用这个邮箱发送通知邮件,这里必须填写,并且必须与后面的配置保持一致:

(2)单击“Extended E-mail Notification”选项,可以看到配置项较多,但并不是每一项都需要填写,邮箱基本配置如图所示:

  • SMTP server:邮箱 SMTP 服务地址,如 126 邮箱服务地址为 smtp.126.com。
  • Default user E-mail suffix:邮箱后缀,126 邮箱后缀为@126.com。
  • Use SMTP Authentication:勾选使用 SMTP 认证。
  • User Name:发送邮件的用户名。
  • Password:客户端授权码,并非邮箱登录使用的密码,请自行查找资料设置客户端授权码。
  • Use SSL:是否使用 SSL 连接 SMTP 服务器,默认勾选。
  • SMTP port:SMTP 端口,默认为 465。
  • Charset:字符集,设置为 UTF-8。
  • Default Content Type:默认邮件内容类型,这里选择 HTML(text/html)。
  关于邮箱的配置还有一些选项,可以选择不填,单击“保存”按钮保存即可。
 
  第二步,回到 Sample test 任务中的配置,找到“Post-build Actions”选项,单击“Addpost-build action”按钮,配置“Editable Email Notification”,如图所示:
  • Project Recipient List:接收构建结果的邮件列表。
  • Default Subject:邮件标题,根据 Jenkins 任务填写。
  • Default Content:邮件正文,配置如下。
(本邮件自动下发,请勿回复!)<br/>
构建项目:$PROJECT_NAME <br/>
构建版本:# $BUILD_NUMBER <br/>
构建状态:$BUILD_STATUS <br/>
执行用例数:${TEST_COUNTS} <br/>
成功用例数:${TEST_COUNTS, var="pass"} <br/>
失败用例数:${TEST_COUNTS, var="fail"} <br/>
跳过用例数:${TEST_COUNTS, var="skip"} <br/>
合计: ${TEST_COUNTS, var="total"} <br/>
Check console output at $BUILD_URL to view the results.

 这里使用 Jenkins 特定变量配置,邮件会将变量替换为具体的结果。

Attachments:邮件附件,这里可以指定测试报告的目录。
Attach Build Log:附加构建日志。
单击“Advanced Settings…”按钮,更多选项如图所示:

Triggers:选择触发邮件发送规则,可以选择每次发送,也可以选择当任务失败时发送。

Send To:指定发送邮件的对象。
保存任务,再次执行任务构建。登录收件箱,可以看到 Jenkins 自动发送的邮件如图所示:
通过邮件可以看到本次构建的基本情况,还可以通过附件(build.log)查看构建日志。
至此,自动化项目的 Jenkins 配置已经基本完成。这些配置可以满足以下需求:
(1)编写自动化测试用例并将代码提交到 GitHub 仓库。
(2)Jenkins 通过轮询检测代码是否更新。
(3)拉取最新的测试代码并执行,将执行结果发送到指定邮箱。
(4)同时,通过 Jenkins 也可以查看 HTML 测试报告和历史执行情况。 

posted on 2021-11-22 16:57  hello_殷  阅读(1070)  评论(0编辑  收藏  举报

导航

作者:hello.殷
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。