robot framework结合Jenkins(一)
一、CI与Jenkins介绍:
1、持续集成(CI)
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。
CI系统在整个开发过程中的主要作用是控制:当系统在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么CI系统将通知相关人员,然后继续监视存储库。它的角色看起来是被动的;但它确能快速反映问题。
详细介绍可参考:http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
http://www.cnblogs.com/xing901022/p/4414263.html
2、JenKins
Jenkins 是一个可扩展的持续集成引擎, 是CI的常用工具之一。目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。
它是一种实践,旨在缓和和稳固软件的构建过程。Jenkins的主要目标是监控软件开发流程,快速显示问题。所以能保证开发人员以及相关人员省时省力提高开发效率。
二、Jenkins环境配置
1、首先,我们从Jenkins官方网站https://jenkins.io/下载最新的war包。虽然Jenkins提供了Windows、Linux、OS X等各种安装程序,但是,这些安装程序都没有war包好使。我从未见过Jenkins这样把Java包做得如此简单的项目。只需要运行命令:
java -jar jenkins.war
Jenkins就启动成功了!它的war包自带Jetty服务器,剩下的工作我们全部在浏览器中进行。
第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的按照口令。注意控制台输出的口令,复制下来,然后在浏览器输入:
粘贴口令,进入安装界面,如果执行默认的安装,Jenkins就自动配置好了Ant、SSH、git等常用插件。最后,创建一个root用户,完成安装。
2、用户登录
三、安装robotframework插件
1、RF的插件下载路径:http://mirrors.jenkins-ci.org/plugins/robot/,推荐使用1.3.2 (具体为啥,我也是参考道长的资料),下载之后将robot.hpi文件上传到jenkins插件中,如下图所示:
3、上传插件之后,配置JOB运行测试
构建配置:
构建后配置:
我们要增加构建后步骤-Publishes Robot Framework test results,第一个output默认可以为空,如果前面的pybot.bat指定了输出目录,那么这里也要对应进行设置,否则他找不到output.xml就没法解析结果了。
四、构建脚本
1、可以点构建的进度条直接看到控制台输出,或者在点构建的名字在菜单里找控制台输出看结果。
2、查看构建结果
3、构建详情显示
4、各Project汇总结果显示:
止此,我们初步完成了RF结合Jenkins的一次demo练习。。具体深入的后面再做阐述。。
robot framework结合Jenkins(一)的更多相关文章
- Jenkins+Gitlab CE+Robot Framework持续集成
环境 Ubuntu 14.04.3 LTS Desktop 前提 1.在本地能执行测试脚本(pybot yourTestSuit.txt),本文不讲解如何学习使用RF框架 2.已有Gitlab环境,本 ...
- 解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题
最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser. ...
- 持续集成Jenkins + robot framework + git
Jenkins + robot framework + git持续集成 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugi ...
- Jenkins + robot framework + git持续集成
安装略过... 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugin.GitHub API Plugin.GitHub p ...
- [原]Jenkins(二十) jenkins再出发之Error: Opening Robot Framework log failed
错误缘由:使用plugin [public robot framework test results] 生成的HTML文件都无法正常打开. 解决方案: Connect on your jenkin ...
- Jenkins Robot framework 持续集成环境搭建
为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷保驾护航.这其中有个重要的工具Jenkins,同时也是应群里朋友们的要求,这次就来介绍一下RF如何快速便捷的结合Je ...
- 【转】解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题
最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser. ...
- 解决在jenkins中无法打开robot framework report.html log.html的问题
问题描述: Opening Robot Framework report failed Verify that you have JavaScript enabled in your browser. ...
- 搭建jenkins+python+selenium+robot framework环境
1.安装jenkins 具体参考:https://www.cnblogs.com/dydxw/p/10538103.html 2.下载插件 我是为了方便,把有关python.selenium.robo ...
随机推荐
- HackerRank - angry-children 【排序】
题意 求一个序列当中 其 长度为 K 的子序列 中的 最大值 - 最小值 求 这个值 最小是多少 思路 先将序列排序 然后 I = 0, J = K - 1 然后 往下遍历 如果 arr[j] - a ...
- Java多线程系列 JUC线程池06 线程池原理解析(五)
ScheduledThreadPoolExecutor解析 ScheduledThreadPoolExecutor适用于延时执行,或者周期性执行的任务调度,ScheduledThreadPoolExe ...
- 面试问题(HTML和CSS方面)
1 IE/Win的 HasLayout 2 浮动 float 的定义.float后元素的display属性会发生改变吗?3 CSS 3.0.CSS2.1 中被现代浏览器应用了的规则有哪些?4 父元素定 ...
- React Native 列表的总结
React Native 列表的总结 FlatList和SectionList都是React Native中高性能的列表组件.这些新的列表组件在性能方面都有了极大的提升, 其中最主要的一个是无论列表有 ...
- hd acm1048
Problem Description Julius Caesar lived in a time of danger and intrigue. The hardest situation Caes ...
- Android系统OTA升级包制作【转】
本文转载自:http://blog.csdn.net/dingfengnupt88/article/details/52882788 Android系统升级分为整包升级和差分包升级,整包升级就是将系统 ...
- [Vue] 初识Vue-常用指令
Vue Vue是一套用于构建用户界面的渐进式框架, Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.Vue是一个JavaScript MVVM库, 以数据驱动和组件化的思想构 ...
- NGINX中遇到SELinux 13:permission denied
被selinux坑了.抓包发现端口始终没有流量, 操作过程中还特地dmesg看了c并没发现selinux的异常. https://www.nginx.com/blog/using-nginx-plus ...
- Thriftpy一个简单的例子
sleep.thrift文件(什么是thrift文件?),文件内容如下,该文件定义了一个Sleep服务,该服务提供一个sleep方法,sleep方法接受一个32位int类型的参数且没有返回值 serv ...
- 兼容IE8及其他浏览器的回车事件
//阻止默认浏览器行为 function stopDefault(e) { //如果提供了事件对象,则这是一个非IE浏览器 if(e && e.preventDefault) { // ...