Jenkins配置Windows节点实现自动化测试(二)

测试脚本提交到gitlab

Jenkins从节点配置和启动 jenkins配置windows从节点_自动化

仓库地址

项目结构:
├─common
│  └─存放公共函数及常用工具类封装
├─conf	存放配置文件及全局变量
├─html_report	存放html测试报告
├─logs	存放测试日志
├─testcases
│  ├─存放所有测试用例,按模块划分不同模块的接口用例
├─test_data	存放测试数据,yaml文件格式
├─run_api_cases	运行testcases所有测试用例
├─requirements	python第三方库
└─.gitignore	git忽略文件

Jenkins新建构建任务

Jenkins首页点击新建任务

Jenkins从节点配置和启动 jenkins配置windows从节点_windows_02

输入任务名称InterfaceAutoTest和选择构建一个自由风格的软件项目

配置-General

General中配置工作空间,定位到当前项目地址,方便直接执行文件。

Jenkins从节点配置和启动 jenkins配置windows从节点_jenkins_03

General中另一个需要配置点,“限制项目的运行节点”选择需要运行的节点,一般会配置一个Windows运行节点用来UI自动化测试

Jenkins从节点配置和启动 jenkins配置windows从节点_Jenkins从节点配置和启动_04

配置-源码管理

自动化测试框架时放在gitlab上的,因此用git方式管理源码

Repository URL:为gitlab上代码仓地址,通过ssh通信。

Credentials可选择root账户已经配置好的(自己配置的话需要有权限登录后台生成ssh-key,把公钥放在gitlab上,私钥配置在这里,jenkins通过私钥与gitlab上公钥进行ssh通信,拉取gitlab上最新代码)

指定分支:可配置成git代码仓库中的指定仓库,这里目前是master。

Jenkins从节点配置和启动 jenkins配置windows从节点_git_05

配置-构建触发器

可以选择不同构建,常用定时构建、其他工程构建后触发,用于项目自动化部署后触发

Jenkins从节点配置和启动 jenkins配置windows从节点_自动化_06

配置-构建环境

(暂未用到)

Jenkins从节点配置和启动 jenkins配置windows从节点_windows_07

配置-构建
执行shell脚本

用来执行构建步骤,我这里选择的执行shell脚本,用来执行python脚本run_api_cases.py为执行测试脚本。

Jenkins从节点配置和启动 jenkins配置windows从节点_自动化_08

可以添加多个构建步骤,同时也可以安装一些插件是用来添加构建步骤的,如:Groovy Script

执行Groovy脚本(解决HTML报告样式问题)

Groovy Script:用来执行Groovy脚本,这里执行的这行脚本是用来设备jenkins中HTML报告中样式出错问题

(原因:Jenkins为了避免受到恶意HTML/JS文件的攻击,会默认将安全策略CSP设置为:sandbox; default-src ‘none’; img-src ‘self’; style-src ‘self’;在此配置下,只允许加载:Jenkins服务器上托管的CSS文件、Jenkins服务器上托管的图片文件)

Jenkins从节点配置和启动 jenkins配置windows从节点_Jenkins从节点配置和启动_09

这里还有个问题,如果不是管理员用户,且第一次新增该脚本时,不勾选下方Use Groovy Sandbox执行会报错,执行后需要管理员在

系统管理–In-process Script Approval允许刚刚运行的脚本(参考)

配置-构建后操作

添加HTML report(需要安装插件Publish HTML reports)

HTML directory to archive:报告的文件夹路径

Index page[s]:html报告文件名

Jenkins从节点配置和启动 jenkins配置windows从节点_自动化_10

添加企业微信通知

Jenkins从节点配置和启动 jenkins配置windows从节点_Jenkins从节点配置和启动_11

立即构建任务

进入创建的构建工程中,点击立即构建,可以在左下方看到正在构建的任务,点击查看详情

Jenkins从节点配置和启动 jenkins配置windows从节点_git_12

构建结束可以在当前页面查看HTML Report报告

Jenkins从节点配置和启动 jenkins配置windows从节点_自动化_13

同时可以在企业微信群众接收到通知

Jenkins从节点配置和启动 jenkins配置windows从节点_Jenkins从节点配置和启动_14

至此,Jenkins集成Python自动化测试框架完成,可以通过gitlab管理源码、执行成功后可查看HTML报告和企业微信通知。

(后续添加新功能再更新…)

遇到的问题

报错一:javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

Jenkins从节点配置和启动 jenkins配置windows从节点_windows_15

通过网上查阅博客,原因时jdk1.8版本导致SSL调用权限上有问题(不太懂),建议是修改java.security里面的,(删掉SSLv3就是允许SSL调用)

java.security文件在java安装目录下jre/lib/security/java.security这个位置,不知道也可以用find名称查找一下

[root@centos-7 test_001]# find / -name java.security
/usr/local/jdk8u312-b07/jre/lib/security/java.security

Jenkins从节点配置和启动 jenkins配置windows从节点_jenkins_16

删除’SSLv3,'保存退出后,重启jenkins服务(systemctl restart jenkins)

重新在jenkins中构建任务时,发现又报了个错误

报错二:javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

(截图找不到了…)

t通过网上查阅资料,jdk1.8的高版本2**除了SSLv3,还有后面的TLSv1,TLSv1.1都是关于SSH的,将它们一起删除后重启jenkins,成功解决该问题,如下图

Jenkins从节点配置和启动 jenkins配置windows从节点_自动化_17

成功发送企业微信通知

问题三:企业微信通知"查看控制台"链接打不开,查看链接端口号不正确

原因是:jenkins部署成功的后更换过端口号,导致发送通知链接中端口号不正确,还是之前的没有修改,需要手动修改

打开系统管理–系统配置–Jenkins Location–Jenkins URL修改成现在的地址保存就可以了

Jenkins从节点配置和启动 jenkins配置windows从节点_git_18