为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷保驾护航。这其中有个重要的工具Jenkins,这次就来介绍一下RF如何快速便捷的结合Jenkins这一利器在windows上进行自动化测试(linux我没装机器,大体步骤差不多,度娘应该有)。
其实个人觉得RF和Jenkins的结合很简单,概括一下就这几点:
1、下载Jenkins
2、添加节点
3、安装robotframework插件
4、配置job运行测试
一、下载及安装Jenkins
1.下载地址:http://mirrors.jenkins-ci.org/
2.详细安装过程请见《手把手教你搭建Jenkins+Jmeter+Ant自动化集成环境www.jianshu.com/writer#/notebooks/13377041/notes/17108032》里的下载安装过程,或自行度娘安装。
3.打开我们的jenkins地址:http://192.168.1.6:8080(IP以你本机IP为准,也可用localhost,比起tomcat来说,url还不用写jenkins),里面的test2不用理会。会看到如下图的页面:
4.管理插件,添加Robot Framework plugin
二、添加节点
我们启动Jenkins服务的这台机器在Jenkins里叫做master,而其他的连到master上的机器(物理机、虚拟机都可以)都是slave,也叫节点。
1.点击系统管理,然后点击管理节点,就看到如下界面:
2.点击新建节点
(这是静态连接的方式,就是我先设置好节点,由slave自己去连master作为这个节点。另外也有一种动态连接的方式,不用先设置好节点,直接用slave.jar连过来,这里就不详细介绍了)
3.输入slave的名字,点确定
上图有几个需要注意的地方我标注了一下:
a、executors:表示在slave上可以并行执行几个线程,也可以点后面的问号看说明。对于RF来说,建议设置为1。
b、远程工作目录:在slave上创建jenkins工作目录的路径,我一般设置为D:\JK
c、标签:可以给slave加上一个或多个标签,通过标签选择slave
d、启动方法:启动slave的方法,推荐选第二个Launch slave agents via Java Web Start。
注意:如果在jenkins的启动方法找不到Launch slave agents using Java Web Start这个,请按此步骤设置:系统管理-Configure Global Security-TCP port for JNLP agents是被禁用的,选择随机选取或者自行制定端口即可。记住,如果是用来执行RF自动化测试案例的slave,严禁选择windows service的方式,否则后果自负。
4.保存后 此时的节点是不能使用的
5.点击目标节点slave1,弹出如下界面
6.点击Agent slave1界面的“Launch”按键下载slave-agent文件。启动方式1:下载后双击slave-agent文件,弹出如下右侧界面,connect表示已连接(一般用在Windows系统上,需要javaws.exe(在Java的bin目录中可以找到)程序才能打开。如果提示错误,请卸载JDK后重新安装。)
启动方式2:下载slave.jar到本地,然后进入存放slave.jar的目录,复制粘贴并运行java -jar slave.jar -jnlpUrl http://xxxxx即可启动。
三、配置运行Job任务
1.点击Jenkins左上角的“新建”,在下图中输入名称,并选择“构建一个自由风格的软件项目”,点击确定
2.设置丢弃旧的构建(此步可以设置,可以不设置。无要求)
3.在“构建”中选择“Execute Windows batch command”,输入指令"pybot.bat D:\work\RIDE\test\testsuit.txt"(RF的工作目录)
4.构建后操作:我们要增加构建后步骤-Publishes Robot Framework test results,第一个output默认可以为空,如果前面的pybot.bat指定了输出目录,那么这里也要对应进行设置,否则他找不到output.xml就没法解析结果了。
5.配置邮件,在构建后操作中选择“Editable Email Notification”,分别设置Content Type和写入如下邮件通知模板至Default Content中,然后点击保存。
(本邮件是程序自动下发的,请勿回复!)
构建结果 - ${BUILD_STATUS}
构建信息
项目名称 : ${PROJECT_NAME}
构建编号 : 第${BUILD_NUMBER}次构建
SVN 版本: ${SVN_REVISION}
触发原因: ${CAUSE}
构建日志: ${BUILD_URL}console
构建 Url : ${BUILD_URL}
工作目录 : ${PROJECT_URL}ws
项目 Url : ${PROJECT_URL} Changes Since Last Successful Build:
历史变更记录 : ${PROJECT_URL}changes ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:%c",showPaths=true,changesFormat="[%a]%m",pathFormat=" %p"} Failed Test Results $FAILED_TESTS
构建日志 (最后 100行): ${BUILD_LOG, maxLines=100}
6.打开slave agent弹出connected提示框后,点击左上角的“立即构建”按键。如下图
7.可以点构建的进度条直接看到控制台输出,或者在点构建的名字在菜单里找控制台输出看结果。
8.分别点击Result的三种报告输入,可现实不同的显示结果样式
9.接收者邮箱显示信息
四、上面讲述了如何配置一个普通的Jenkins Job任务,但此类型任务需人工的手动去执行构建操作,而Jenkins也可以配置定时任务,从而让我们配置好的JOB在我们指定的时间去自动执行,下面讲述如何配置Jenkins定时任务。
1、添加节点,配置Job等方法,步骤如上面操作所示。
2、在配置Job时,其中有一个构建触发器的选项,如图所示:
如上述,选择build periodly(即周期构建),如上图表示每天2:00自动构建一次。
日程表(Build periodically)格式:用cron格式,五个空格隔开的字符组成,分别表示分 时 天 月 年,*表示所有,如下图配置:
H 2 * * * (每天2:00 必须build一次源码)
在 Schedule 中填写 0 * * * *。
第一个参数代表的是分钟 minute,取值 0~59;
第二个参数代表的是小时 hour,取值 0~23;
第三个参数代表的是天 day,取值 1~31;
第四个参数代表的是月 month,取值 1~12;
最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
例1:0 12,20 * * *表示的就是每天的12点和20点执行一次构建
例2:*/5 * * * *表示每5分钟执行一次构建
例3:0 2 * * *表示每天2点执行一次构建
3、通过增加build periodly选项,就可完成自动构建任务。
以上就是本人学习Robot Framework的步骤,都是经过本人亲测通过的,如有不懂或说的不到位的地方,希望大家多多指教,共同学习,共同进步。我就是keitwo!