【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。
单击“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)。
- Project Recipient List:接收构建结果的邮件列表。
- Default Subject:邮件标题,根据 Jenkins 任务填写。
- Default Content:邮件正文,配置如下。
(本邮件自动下发,请勿回复!)
构建项目:$PROJECT_NAME
构建版本:# $BUILD_NUMBER
构建状态:$BUILD_STATUS
执行用例数:${TEST_COUNTS}
成功用例数:${TEST_COUNTS, var="pass"}
失败用例数:${TEST_COUNTS, var="fail"}
跳过用例数:${TEST_COUNTS, var="skip"}
合计: ${TEST_COUNTS, var="total"}
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 测试报告和历史执行情况。