RobotFramework与Jenkins集成方法

发表于:2018-1-10 10:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵新振    来源:绿盟科技博客

  CSG组的Jenkins持续集成环境和RobotFramework自动化环境,一直是两条并行的线,各自发挥着作用,虽然在初稿蓝图里是要将二者集成的,但是由于两边进度不一致,一直到不久前才终于完成了将RobotFramework环境接入Jenkins环境,总算是把这个环给闭合了。下面就给大家讲解一下,如何将RobotFramework环境与Jenkins环境集成在一起使用,以及集成后可能会遇到的问题、解决办法。
  RobotFramework环境与Jenkins环境集成方法
  RobotFramework环境与Jenkins环境部署在同一主机上也可以,部署在不同主机上也可以,CSG组的实际部署环境属于前者,所以我们这里优先以前者为例进行讲解:Jenkins里Job里各个配置项都有详细的在线帮助文档,所以我们不对每个配置项都做解释,这里只介绍与RobotFramework相关的配置项。
  首先登录jenkins的web操作界面,点击左侧菜单栏中的“新建”,新建界面如下:
  配置项:Item名称
  含义:相当于给此次Job命名示例:这里我们填写为“RF-test”
  配置项:构建一个自由风格的软件项目
  含义:自由风格的意思就是可以自主选择搭配的插件示例:勾选此选项点击“OK”按钮,完成Job的创建,然后进入Job的详细配置界面,如下:
  配置项:描述
  含义:Job的文字描述
  示例:自动化测试范围、版本等信息
  配置项:丢弃旧的构建
  含义:避免Job执行记录过多占用硬盘空间,按一定策略清理记录信息
  示例:勾选此选项
  子配置选项:保持构建的最大个数
  含义:最多保留多少个构建
  示例:10
  配置项:构建-增加构建步骤
  含义:Job核心内容,通过不同方式来执行指定命令示例:选择“Execute shell”,在“Command”中填写Robot执行命令:export DISPLAY=:10
  pybot /home/test/PAMC_V2.0/自动化测试/例行测试/调用平台接口测试/bailu报表管理.txt
  配置项:构建后操作-增加构建后操作步骤
  含义:根据添加插件不同,可以在执行完成后,做不同的工作,eg:测试结果分析、邮件发送等
  示例:选择“Publish Robot Framework test results”
  子配置项:Directory of Robot output
  含义:指定Robot的结果文件存放位置,如果Command命令中pybot已经指定了输出目录,那么此处就不需要配置,如果没有就需要指定,否则会因为找不到output.xml无法解析结果
  示例:/tmp/
  子配置项:Thresholds for build result
  含义:不稳定用例和稳定用例的临界值,但是由于我们不期望有不稳定的用例仍然认为结果是准确的,所以这里都设置为100%
  示例:两个都填写100.0%
  最后,点击“保存”按钮即可完成整个配置过程,点击“立即构建”即可运行本次Robot自动化测试,当Job执行完成,即可查看执行结果。
  返回到Job列表,可以看到当添加了RobotFramework的Job,会在列表中显示一个Robot的小图标,如下图所示:
  FAQ
  通过上述配置,发现是不是很简单,但是其实过程中还是遇到了很多问题的,这里我选取了几个比较典型的问题和大家分享一下。
  Q1:如果RobotFramework环境与Jenkins环境分别部署在两个不同环境该怎么办?
  A1:首先在构建配置中要设置为“Execute shell script on remote host using ssh”并且还需要配置“Send files or execute commands over SSH”,这样才能保证在远端主机通过SSH协议执行pybot命令并且回传output测试结果,而且要注意这种远程执行命令的方式,不能使用中文路径,否则会出现“data source”不存在的错误。
  Q2:RobotFramework环境与Jenkins环境在同一主机,用例执行完成,仍提示data source不存在?
  A2:一是要看下Jenkins系统配置里的工作空间根目录设置是否正确;二是要看Jenkins工作空间目录的权限和Robot测试用例所属权限是否一致。
  Q3:查看测试报告提示Opening Robot-Framework log failed
  A3:当我们查看结果文件Open report.html、Open log.html时,总是提示:Opening Robot Framework log failed,如下图所示:
  有两种解决办法:
  1.修改jenkins.xml配置文件,将<arguments>参数修改为:
  <arguments>-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar “%BASE%\jenkins.war” –httpPort=8080</arguments>
  2.在Jenkins系统管理中运行命令:
  System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”)
  运行成功后,在浏览器中按Shift+F5即可查看报告了。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号