在Windows中安装Jenkins
Jenkins在自动化测试中的使用
下载安装Jenkins
1、下载链接:https://www.jenkins.io/download/,要选择长期支持离线型的版本:
2、安装JDK:
安装Jenkins前,需保证有JDK环境:java -version(若没有安装,可查看allure的安装配置、使用)
3、安装Jenkins
(1)将Jenkins.war包放到需放的路径下,用管理员身份进入cmd,进入到Jenkins.war的路径:
(2)启动Jenkins:java -jar jenkins.war --httpPort=8080
遇到的问题:由于最初下载的Jenkins(最新版本)不匹配JDK1.8版本,导致启动Jenkins时报错:
又重新下载Jenkins的2.346.1版本,再次启动时,启动成功:
(3)cmd不能关闭,不然打不开Jenkins。在浏览器中输入:localhost:8080。复制下方路径中的密码到管理员密码输入框中,点击继续。
选择安装推荐的插件:
插件下载完成后,创建管理员用户:
Jenkins-allure安装配置
点击“Manager Jenkins——Plugin Manager——可选插件”中下载allure插件,插件下载完成后,需重启Jenkins。在cmd中输入命令启动:java -jar jenkins.war --httpPort=8080
重启Jenkins,在已安装中找到allure
配置Jenkins全局环境
点击“Manager Jenkins——Global Tool Configuration”,分别设置JDK、maven、allure
(1)设置JDK:
(2)设置maven:maven功能类型于pip
(3)设置allure
Jenkins新建job
(1)设置源码管理git
(2)设置构建环境
(3)设置构建:
python -m pytest testcases\test_jenkins.py -n auto --alluredir=C:\Users\Administrator\.jenkins\workspace\ui_auto_test\allure-results
C:\Users\Administrator\.jenkins :Jenkins的安装路径
workspace :为固定值,工作空间
ui_auto_test :为job名称
allure-results:不知道是啥,但是就固定这样写吧
该步骤截图中的路径有误,会导致步骤(5)的错误,步骤(6)解决该问题:
(4)构建后操作
(5)问题:构建成功了,从构建日志中也发现用例执行pass,但是从allure report入口显示执行用例数为0,核查日志,发现生成的报告路径为
(6)解决:
定时执行自动化测试:Jenkins定时构建
在job中设置定时任务:
2. 可通过在线CRON设置好日程,复制到日程表中
在线CRON:https://cron.qqe2.com/
jenkins发送邮件配置
1、配置Jenkins->Configure System->邮件通知:
报错如下:
com.sun.mail.smtp.SMTPSenderFailedException: 501 mail from address must be same as authorization user at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1587) Caused: com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be same as authorization user ; nested exception is: com.sun.mail.smtp.SMTPSenderFailedException: 501 mail from address must be same as authorization user at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2057) at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1580) at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1097) at javax.mail.Transport.send0(Transport.java:195) at javax.mail.Transport.send(Transport.java:124) at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:585) at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77) at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:537) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:282) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668) at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
加上管理员邮件地址配置后,再次测试:
2、配置job工程的邮件
选中增加构架后操作步骤->【Editable Email Notification】->输入(Project From:发件箱 Project Recipient List:收件箱--可以多个)->点击最下面[Advanced Settings]->【Add Trigger】 ->【Always】->【保存】
【Jenkins测试发邮件能成功实际却失败的可能原因】