热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

robotframework自动化测试实例11(Jenkins集成)

前情介绍:自动化测试除了需要编写脚本来自动化的模拟用户的各种操作以外,自动化测试还需要完成的一项是执行时间自动化运行和测试结果自动化生成。RF其实已经很好的帮我们完成了测试结果自动

前情介绍:
自动化测试除了需要编写脚本来自动化的模拟用户的各种操作以外,自动化测试还需要完成的一项是执行时间自动化运行和测试结果自动化生成。
RF其实已经很好的帮我们完成了测试结果自动化生成的工作。
那我们只剩下一个脚本可以自动化执行的需求了。可用的方法很多,比如:

  • 写bat文件来自动运行robot脚本
  • 用python或者其它的语言写脚本来定时运行robot脚本
  • 使用其它的工具来定时运行robot脚本
    本小节呢,我们就选用现在市场上最流行的CI工具Jenkins来完成这一目标。
  • 练习环境配置
  • 实例1(UI自动化-百度搜索)
  • 实例2(有效登录)
  • 实例3(无效登录)
  • 实例4 ( Appium )
  • 实例5 ( 连接mysql数据库)
  • 实例6 ( GET/POST请求)
  • 实例7(接口API测试)
  • 实例8 (数据驱动)
  • 实例9 (行为驱动)
  • 实例10(接口加密)
  • Appium Error总结
  • robotframework Error总结

需求:
用Jenkins来自动运行Robot自动化脚本

因为之前有在Linux(Centos)的环境下装Git服务器,这次也顺便把Jenkins的服务器装在了Linux的环境下。(安装过程请大家自己先百度,Jenkins支持的环境其实很多,有空再写相关的文。下载官网:http://mirrors.jenkins-ci.org/ ,找自己想下载的版本进行安装就行了)

设计:
Master:Jenkins是安装在Linux服务器上的,作为Master;
Slave:Win7系统,上面同时安装了Python2和Python3,存有之前练习的所有Python脚本。

Jenkins支持Master/Slave的机制,也就是我们常说的主从模式,这样有利于在多台不同测试环境上面运行测试脚本。
Jenkins还支持多个版本控制工具,比如Git,SVN等,此次因为搭建环境比较复杂,暂时不使用版本控制工具。(这些都可以通过安装插件的方式来实现)

实现:
1 安装好Jenkins后在Win7的浏览器中输入服务器地址 http://服务器ip:端口号

《robotframework-自动化测试-实例11(Jenkins集成)》 jenkins.png

2 登录后新建一个节点 http://服务器ip:8080/computer,选择新建一个节点SlaveA

《robotframework-自动化测试-实例11(Jenkins集成)》 SlaveA.png

注意:我们启动Jenkins服务的这台机器在Jenkins里叫做master,而其他的连到master上的机器(物理机、虚拟机都可以)都是slave,也叫节点。

  • Name:需要连上的机器的名字
  • of executors:表示在slave上可以并行执行几个线程,也可以点后面的问号看说明。对于RF来说,建议设置为1。
  • Remote root Directory(远程工作目录):在slave上创建jenkins工作目录的路径,设置为D:\JK即可
  • Labels(标签):可以给slave加上一个或多个标签,通过标签选择slave
  • Launch method(启动方法):启动slave的方法,推荐选第二个Launch slave agents via JavaWeb Start(如果这个选项没有出来的话,你需要到Config Global Security里面去设置开启对应的协议,如下图

《robotframework-自动化测试-实例11(Jenkins集成)》 configureSecurity.png

)
3 启动Slave和Master之间的联系,刚建好的时候你会发现Slave还处于一个离线状态,此时点击Slave,可以看到有一个Launch的按钮

《robotframework-自动化测试-实例11(Jenkins集成)》 launch.png

点击后下载slave-agent.jnlp文件,如果运行后发现链接不上的话,可以打开此文件进行编辑,主要是master的ip需要是想对应的master ip(因为我的linux服务器的ip有时会变化,所以常需要改ip)

《robotframework-自动化测试-实例11(Jenkins集成)》 edit slave.png
《robotframework-自动化测试-实例11(Jenkins集成)》 connect.png

4 安装RF插件
Jenkins是一个很强大的工具,它可以扩展许多的插件,大部分的插件安装方式都类似,主要介绍其中一种。
回到Jenkins首页,进入系统管理,点击管理插件,那里有可更新、可选插件、已安装和高级几个页面。
可选插件里面列了所有的插件和简单介绍,点击他的连接可以进到插件的主页,里面有详细的介绍。

RF的插件下载路径http://mirrors.jenkins-ci.org/plugins/robot/
下载得到robot.hpi文件后在高级-上传插件中把此插件上传后即安装成功,重启Jenkins以后就可以在首页的任务栏最后一列上看到RF的标识。

5 配置Job来完成RF脚本的自动化
首页上New Item(新建),选择freestyle风格的项目

《robotframework-自动化测试-实例11(Jenkins集成)》 Newitem.png

对于RF的Job来说,自由风格就可以了。多配置也可以,只不过多配置的略有不方便,看各自需要吧,比如你要把一套案例在多个不同配置的slave上执行,就可以用多配置的Job。
之后进到配置页面

《robotframework-自动化测试-实例11(Jenkins集成)》 build.png

可配置的地方很多,此次只设置了必须设置的地方。

  • General部分
    Restrict where this project can be run: 前面的标签就在这里用上了。用来指定这个Job在哪个标签的slave上执行。
  • Source Code Management(源码管理)部分
    此次选择的是None,当然你可以选择从SVN或者Git上获取,但是这个也需要相关的插件支持
  • Buid(构建)部分
    要增加构建步骤-Execute Windows batch command
    简单的来说就是你在你的windows的cmd命令行上可以执行的命令都可以写在此处。我们的RF脚本是用Pybot.bat 来驱动执行的,比如命令行为 :
    pybot.bat D:\Python\Robot\03OAInvalidLogin.robot
  • Post build Actions(构建后动作)部分
    增加构建后步骤-Publishes Robot Framework test results,第一个output默认可以为空,如果前面的pybot.bat指定了输出目录,那么这里也要对应进行设置,否则他找不到output.xml就没法解析结果了。
    完成后保存。

6 在首页可以点击Build Now的操作,可以点构建的进度条直接看到控制台输出,或者在点构建的名字在菜单里找控制台输出看结果。

《robotframework-自动化测试-实例11(Jenkins集成)》 console.png

装了RF插件的效果就是你可以在首页上看到最后执行的结果和图形显示的界面(还能对于这个看脸的世界说什么呢,摊手)

《robotframework-自动化测试-实例11(Jenkins集成)》 build result.png
《robotframework-自动化测试-实例11(Jenkins集成)》 result.png

Jenkins只是一个非常好的CI工具,你也可以采用其它的方式来自动化执行你的robot脚本或者python脚本。
以上。

《robotframework-自动化测试-实例11(Jenkins集成)》 夏目.jpg


推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
author-avatar
张小白
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有