Jenkins+robotframework单机版简约教程

1,532 阅读10分钟

迫于某人极渴望学自动化测试,因此写下此简约教程.妈蛋我是个JAVA后端开发啊... 此教程为基于window系统的Jenkins单机版,测试代码无版本控制的精要压缩版本教程,勿喷

前提:通过Jenkins执行自动化测试,本文习惯称为构建,这个名称比较通用.因此,我们将Jenkins执行自动化测试在下文均称为构建

安装Jenkins

如已存在Jenkins及其的RobotFramework插件,读者直接跳过

1.安装JAVA环境

百度吧...

2.下载Jenkins

下载地址:jenkins.io/zh/download…

如图,选择windows版本

解压后打开msi文件,进行安装

选择安装到d:\Jenkins, 一直点击下一步,就自动安装及启动 Jenkins服务.

finish后会浏览器会自动打开localhost:8080,关闭这个页面

接下来从服务里面看到Jenkins服务(哈???你说你不会打开看服务???任务栏-鼠标右键-任务管理器-服务)

3. Jenkins端口配置及插件更新源地址

配置端口

修改端口,防止哪天安装了tomcat 默认8080端口占用了 到安装目录d:\Jenkins\根目录下找jenkins.xml文件,修改8080到其他端口,如9000,

插件更新源地址

修改此地址为了下载和更新插件更快.到安装目录d:\Jenkins\根目录下找d:\Jenkins\hudson.model.UpdateCenter.xml,修改https://updates.jenkins.io/update-center.jsonhttps://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

重启jenkins服务

再服务管理里面,选中Jenkins服务,然后右键弹出菜单选重新启动

4. 安装基本插件及账户初始化

重启完毕,浏览器打开localhost:9000访问Jenkins,根据提示到D:\Jenkins\secrets\initialAdminPassword查看密码

选择默认推荐安装,然后等待安装完毕,安装失败也没关系,跳过待需要时候再安装即可

此时到设置默认管理员账号及密码,以账号root和密码123456为例.保存并完成后,填写默认URL再次保存完成

至此,已完成初始化,接下来开始登陆吧

注意:有可能完成初始化后,打开的页面是空白的而不是欢迎页面,如下

此时通过重启解决

登陆完成后是如下图

5. 安装必要插件

Manage Jenkins-Manage Plugins-可选插件进行搜索安装RobotFramework插件

等待安装完毕

检查是否已安装,Manage Jenkins-Manage Plugins-已安装`检查是否安装成功

安装robotframework环境

如已存在robotframework,读者直接跳过

1. 安装python2最新版

https://www.python.org/downloads/,下载最新的2系列版本最新版

根据实际情况,选择3264位的

如安装Jenkins一样,安装到D盘,一路next即可

将安装目录d:\Python27d:\Python27\Scripts设置到环境变量(具体设置环境变量百度下吧~)

新建一个cmd命令符窗口,python -V检查安装是否成功,注意是2版本的即可

2. 安装pipsetuptools

pip为安装python第三方库的重要工具,setuptoolsPython distutils增强版的集合.假如不明白,安装就是了.

配置国内pip源

pip国内的一些镜像

**windows修改源: **

在user目录中创建一个pip目录,如: C:\Users\Administrator\pip ,在pip文件夹中 新建文件pip.ini,内容如下

   [global]
   index-url = https://pypi.tuna.tsinghua.edu.cn/simple

安装最新版pip

pip命令在安装python2时候已经安装到d:\Python27\Scripts,只是版本太旧,我们需要升级到最新版本

C:\Users\oneisall>pip list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
pip (9.0.3)
setuptools (39.0.1)
You are using pip version 9.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

根据提示,我们可以使用python -m pip install --upgrade pip升级到最新版本19.2.3

C:\Users\oneisall>python -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6514e675a1/pip-19.2.3-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 541kB/s
Installing collected packages: pip
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-19.2.3

再次pip list检测

C:\Users\oneisall>pip list
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Package    Version
---------- -------
pip        19.2.3
setuptools 39.0.1

安装最新版setuptools

我们从pip list中发现setuptools也已经安装,同理使用python -m pip install --upgrade setuptools进行升级

C:\Users\oneisall>python -m pip install --upgrade setuptools
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Collecting setuptools
  Downloading https://files.pythonhosted.org/packages/b2/86/095d2f7829badc207c893dd4ac767e871f6cd547145df797ea26baea4e2e/setuptools-41.2.0-py2.py3-none-any.whl (576kB)
     |████████████████████████████████| 583kB 90kB/s
Installing collected packages: setuptools
  Found existing installation: setuptools 39.0.1
    Uninstalling setuptools-39.0.1:
      Successfully uninstalled setuptools-39.0.1
Successfully installed setuptools-41.2.0

3. 安装重要的几个库

库名称 安装命令
robotframework pip install robotframework
wxPython pip install -U wxPython
robotframework-ride pip install robotframework-ride
selenium2library pip install robotframework-selenium2library
archivelibrary pip install robotframework-archivelibrary
SSHLibrary pip install robotframework-SSHLibrary
ftplibrary pip install robotframework-ftplibrary

4. 运行RIDE

安装完,发现没有生成RIDE桌面图标,可按照下面方法解决:关于RIDE桌面快捷方式创建失败问题解决

桌面右击鼠标,弹出的菜单选择 新建-快捷方式 ,然后在 请键入对象的位置输入这一行命令,d:\Python27\pythonw.exe -c "from robotide import main;main()"

输入路径之后,点击下一步,输入你要建立的快捷方式的名称如RIDE

换图标:快捷方式上点击右键-属性-更改图标,在D:\Python27\Lib\site-packages\robotide\widgets选取喜欢的图标

双击桌面的图标,即可运行RIDE

5.RIDE运行导入测试用例

文中使用helloword来测试,如读者本机已有测试用例,则直接跳过此部分

创建用例

桌面新建文件夹test,在里面新建,__init__.txthelloworld.txt文件

__init__.txt文件,内容如下:

*** Settings ***
Library           Selenium2Library

helloworld.txt文件,内容如下:

*** Test Cases ***
02
${hi}    Set Variable    Hello, world!
log    ${hi}

导入及运行用例

如图,打开RIDE后在File-Open Directory导入文件夹

选中helloworld用例点击运行进行测试

至此,出现helloworld即证明用例已经被RIDE运行,接下来运用robot命令进行测试

6. 命令行执行测试实例

如读者会相关命令,则直接跳过此部分

新建CMD命令行窗口,用robot -d report_dir target_dir执行target_dir文件夹所有用例,并将报告输出到report_dir文件夹 如命令行执行桌面的test文件夹的所有用例,报告输出到桌面的test_report文件夹:

robot -d C:\Users\oneisall\Desktop\test_report C:\Users\oneisall\Desktop\test

结果如图:

7. 查看报告与指定报告位置

如图所示,有三个报告文件生成,可以用文本编辑器和浏览器分别打开

  • log.html
  • output.xml
  • report.html

创建Jenkins测试任务(JOB)

其实本章最重要的关键部分已经写完了,接下来只是在robotframework下,将本来在命令行下执行的命令,如何在Jenkins创建出来而已,个人觉得此章节是最没有挑战性的一部分(貌似整体下来步骤正确应该都没有难度的吧 =_=).只要学会Jenkins的构建的相关知识即可.如需要详细了解,可以搜索相关文章进行详解.

该章节依赖于Jenkins正确安装且已经安装必要插件,具体查看[安装必要插件](#5. 安装必要插件)章节

该章节依赖于robot命令可以在命令行中正确执行用例,具体查看[命令行执行测试实例](#6. 命令行执行测试实例)章节

1. 创建一个自由风格的项目

打开Jenkins主页,新建一个自由风格的项目

2. 设置参数

根据配置任务参数的页面,Jenkins的配置可分为以下几个节点

  • General

  • 源码管理

  • 构建触发器

  • 构建环境

  • 构建

  • 构建后触发

根据截图来分析相关要点吧

General

如上图,是General节点的配置,对于本次教程的宗旨单机+无版本控制+精简+来说,这个节点可以配置的就是两个地方而已

描述

描述项目,将展示在首页

Discard old builds

也就是丢弃旧的构建.明显,每次通过Jenkins执行完毕自动化测试(习惯称为构建,这个名称比较通用.因此,我们将Jenkins执行自动化测试在下文均称为构建),Jenkins都会保存每次构建的结果,分析等内容,也占主机的磁盘容量.因此,我们采取丢弃策略,在此我们设置保持构建的最大个数选项为10即可

源码管理

此选项是指,执行构建的代码,从哪里来的,一般正常开发是需要代码版本控制的. 由于此教程宗旨为无版本控制的教程,故选取无

构建触发器

也就是什么时候会自动触发构建,本实例就什么都不行,最后到Jenkins网页来主动触发

构建环境

运行构建的时候,Jenkins的工作环境,例如一些文件,或者日志选项,具体还是那句话,搜索看具体文档吧,不难

构建

一般来说,构建构建,也就是将项目源码编译成可执行的二进制或虚拟机可运行的包,也成为打包

例如Java项目,通过mavengradle环境下,使用相关命令将工作空间的代码(版本控制更新的代码),编程成warjar

由于本教程用途仅仅是执行自动化测试脚本,所以这里指的就是在robotframework环境下,执行robot target_dir命令进行自动化测试.

又由于本教程是基于window系统的用的是window系统批处理命令,故选Execute Windows batch command

同理,聪明如你,如果是Linux则选Execute shell

填写命令,复制即可,根据读者你的实际情况,使用相关的绝对路径.否则使用相对路径是从Jenkins工作目录进行执行相关命令,导致找不到文件路程,从而使构建失败

构建后操作

告诉Jenkins,执行完构建后,要干啥,例如发邮件通知,收集测试结果,构建其他项目,删除工作空间等等

所以,我们以要查看自动化测试报告为例子,故选取Publish RobotFramework test results

主要设置报告输出位置,阈值的大小(测试用例通过率与最终构建状态相关)

点击保存,接下来进行执行构建

3. 执行构建

到我们配置好的TestCase项目界面,点击Build Now按钮,即可

点击后自动运行构建(即执行测试命令,进行自动化测试)

4. 查看结果

执行完毕,即可在该次构建结果里面查看各种详情

由于设置输出到报告,不能点击浏览器按钮进行查看,需要到桌面进行查看

5. 检查报告目录

到桌面test_report目录里面查看报告

浏览器打开查看测试日志报告

6. 指定输出报告目录及通过浏览器浏览报告(生产推荐)

TODO 建议读者探究,有时间再写

总结

滤清流程,涉及的每个工具的用途,基本无障碍进行搭建环境.

考虑到该教程针对的是小白学习,目的是给与小白亲和感,而不是面对一堆工具毫无头绪的这里搞搞哪里搞搞.

教程并不适合生产,所以建议读者在生产环境搭建时,再次深入了解Jenkins的妙处(分布式+多分支流水线+多环境+项目自动构建发+自动化测试)

参考

RobotFramework环境搭建:https://blog.csdn.net/DaxiaLeeSuper/article/details/77568524

从零搭建Robot Framework+Jenkins持续集成环境:https://www.jianshu.com/p/ef8d3109ac5f

Robot Framework 的安装配置和简单的实例介绍:https://www.ibm.com/developerworks/cn/opensource/os-cn-robot-framework/index.html

更换pip源到国内镜像:https://blog.csdn.net/chenghuikai/article/details/55258957