迫于某人极渴望学自动化测试,因此写下此简约教程.妈蛋我是个JAVA后端开发啊...

此教程为基于window系统的Jenkins单机版,测试代码无版本控制的精要压缩版本教程,勿喷

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

安装Jenkins

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

1.安装JAVA环境

百度吧...

2.下载Jenkins

下载地址:https://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

Jenkins+robotframework单机版简约教程的更多相关文章

  1. Jenkins ubantu15 安装使用教程

    Jenkins  ubantu15 安装使用教程 环境:unbatu15 + java version "1.8.0_181"  +   jenkins (2.137) 命令拉取: ...

  2. [Web 前端] React-router4简约教程

    cp from : http://react-china.org/t/react-router4/15843/1 React-router和React-router-dom的选择 很多刚使用react ...

  3. [WEB地图] 2017高德地图API WEB开发(key申请,地图搭建)简约教程

      前端时间因为公司需要研究 了一下百度的教程 然后写个简约的笔记记录一下自己学习的收获,只为了满足自己暂时的写作热情   高德地图WEB开发(key申请.api)简约教程 1.首先我们需要去“高德地 ...

  4. React-router4简约教程

    React-router4简约教程 教程       webEmmet 17年10月   React-router和React-router-dom的选择 很多刚使用react的同学在接触到react ...

  5. Jenkins+robotframework持续集成环境(三)

    构建job并运行 一.配置job 1.在Jenkins首页的左侧菜单栏,点击新建任务,输入一个任务名称,并选择“构建一个自由风格的软件项目”,点击确定进入配置Job页面. 2.在构建处选择Window ...

  6. Oracle Primavera P6 R84单机版安装教程

    本教程用于指导Oracle Primavera P6 R84版本的单机版安装过程.P6 R84版本于2014年9月30日发布.其功能较之前版本有较大提升.单机版的安装方式也发生了很大的变化.P6 R8 ...

  7. jenkins自动化工具使用教程

    自动化构建.测试.部署.代码检测越来越重要.主要有一下几点原因 1.  企业做大,项目变多,多端支持(web,h5,小程序等) 2.  微服务提倡高内聚低耦合,项目因拆分变多 3.  DevOps自动 ...

  8. jenkins自动化工具使用教程(转)

    自动化构建.测试.部署.代码检测越来越重要.主要有一下几点原因 企业做大,项目变多,多端支持(web,h5,小程序等) 微服务提倡高内聚低耦合,项目因拆分变多 DevOps自动化运维流行 集群化,高可 ...

  9. Jenkins+robotframework持续集成环境(二)

    配置Jenkins上的robotframework环境 一.添加robot插件 需要导一个robot framework 的包,导包方式如下: 1.进入插件管理页面,选择“可选插件”,在右侧搜索栏搜索 ...

随机推荐

  1. 升级go mod采坑录

    为了使用go mod把golang升级到了最新的1.12版本,go mod是1.11版本引入的,go mod的引入极大的方便了golang项目的依赖管理,同时把golang项目从GOPATH中解放了出 ...

  2. Arch Linux 启用 MTU 探测

    最近在家里经常遇到 ssh 超时的问题,一开始也没太当回事,感觉是网络不稳定导致的,但是后来慢慢的发现这种超时问题只会出现在跟 ssh 相关的程序中,例如 git.ssh.这成功的引起了我的注意,于是 ...

  3. ifcopenshell在VS2015下的编译

    源起 今天使用 IfcOpenShell的IfcConvert ,因为是开源的所以就想自己编译下,编译过程中遇到不少问题,因此记录下来 什么是IfcOpenShell? IfcOpenShell是一个 ...

  4. 【并行计算-CUDA开发】【视频开发】ffmpeg Nvidia硬件加速总结

    2017年5月25日 0. 概述 FFmpeg可通过Nvidia的GPU进行加速,其中高层接口是通过Video Codec SDK来实现GPU资源的调用.Video Codec SDK包含完整的的高性 ...

  5. HBase 详解

    1.HBase 架构 ============================================ 2. HBase Shell 操作 2.1. 基本操作 进入HBase客户端命令行:bi ...

  6. js中Boolean类型和Number类型的一些常见方法

    Boolean类型 Boolean类型重写了valueOf() 方法, 返回基本布尔类型值true或false,重写了toString() 方法,返回基本字符串"true" 和 & ...

  7. Python实现斐波那契递归和尾递归计算

    ##斐波那契递归测试 def fibonacciRecursive(deepth): if deepth == 1: return 1 elif deepth == 2: return 1 else: ...

  8. 【LEETCODE】67、分治递归,medium&hard级别,题目:215、312

    我被这些题整哭了,你呢??? 日了狗啊...... 好难啊.... 按照这个样子搞,不用找工作了,回家放牛去....... package y2019.Algorithm.divideandconqu ...

  9. vue 路由跳转带参 方式query ,params

    a.vue向b.vue传值 a.vue this.$router.push({ path: '/payType', query: { putUpList: this.putUpList, name:' ...

  10. Locust性能测试-no-web模式和csv报告保存 转自:悠悠

    前言 前面是在web页面操作,需要手动的点start启动,结束的时候也需要手工去点stop,没法自定义运行时间,这就不太方便. locust提供了命令行运行的方法,不启动web页面也能运行,这就是no ...