资讯专栏INFORMATION COLUMN

Pyhton自动化测试持续集成和Jenkins

89542767 / 341人阅读


  小编写这篇文章的主要目的,给大家进行讲解关于Pyhton自动化测试的相关问题,比如如何对其进行持续集成相关方面的介绍,关于Jenkins这个要怎么去进行操作呢?下面就给大家详细介绍下。


  持续集成


  官方术语:


  持续集成(Continuous Integration),也就是我们经常说的CI


  持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。


  持续集成流程


  在软件的生命周期过程中,从需求,到实现,到测试,到用户手中,是一个持续的过程。


  在这个过程当中,不止是开发工作,有很多的环节都可以利用自动化的手段去持续的定期的执行任务,来提升整体的软件质量和效率。


  下图为我画的在软件生命周期过程中,开发人员和测试人员和配置管理人员的流程图。


  图中红色字体部分均是可以持续定期的去执行。

01.png

  将上图中的内容综合一下,那么我们可以得到下图的持续集成流程。

02.png

  Jenkins


  一款持续集成工具,可以在jenkins当中完成以上持续集成流程中的每一个环节。


  jenkins中有3大重要概念:


  1、Job(任务/工程)


  在jenkins平台中,都是以Job(任务/工程)为单位去完成一件事情的。


  在使用jenkins时,都是会在jenkins管理界面当中创建一个job/item。在job/item中来组织任务。


  2、plugin(插件)


  jenkins提供平台,集成各种插件来完成一个Job。想用jenkins平来做什么,先找找有没有相应的插件。


  比如:windows命令、Linux命令的支持、SVN和Git代码获取、邮件发送,测试报告集成等都需要安装相应的插件才能够在jenkins当中使用这些功能。


  3、workspace(工作空间)


  jenkins是通过文件形式来存储和管理数据的。


  所以,在安装jenkins,要指定一个Jenkins_Home目录。所有jenkins相关的数据都存放在此目录下。


  workspace即给jenkins指定一个专门的目录来存储其所有的配置和数据。


  jenkins的workspace是根目录,其下每个Job都有属于自己的workspace。


  每个job的workspace当中用来存放本任务涉及到的数据/文件,以及任务执行完成后生成的数据/文件。


  相当于,给每一个job开辟了一个独立的文件夹。

03.png

04.png

  4、jenkins管理(Jenkins Manager)


  整个jenkins的全局配置。


  包括权限管理、插件管理、节点管理等。

05.png

  在Jenkins当中要完成一个任务,首先要创建一个Job/Item。


  通过配置Job/Item,来配置任务的触发条件、任务的代码从哪获取、任务的执行过程涉及哪些步骤、任务执行完成之后要做哪些通知/展示工作。

06.png

  一个Job/Item的配置项如下:


  1、基本信息配置(General)


  Job名字、指定当前Job的工作空间、指定当前Job绑定到哪个执行机上执行等。。。

07.png

  2、源码管理(Source Code Management)


  svn/git等,需要相应的插件支撑。


  配置好源码管理后,在执行Job时会自动从相应的源码库里下载代码到当前Job的工作空间中。

08.png

  3、构建触发器(Build Triggers)


  触发器:执行当前任务的条件。


  常用定时构建:类似windows/linux的定时任务。指定当前Job执行的时间。

09.png

  定时任务配置规则如下:


  首先,一共有5个配置选项(每个选项之间用空格隔开),分别是:


  MINUTE(分钟)HOUR(小时)DOM(每月的天数)MONTH(一年的月份)DOW(每周的天数)


  MINUTE(分钟):指一小时内的分钟数。有效值为:0-59


  HOUR(小时):指一天内的小时数。有效值为:0-23


  DOM(每月的天数):指一个月内的天数。有效值为:1-31


  MONTH(一年的月份):指一年当中的月份数。有效值为:1-12


  DOW(每周的天数):指一周当中的天数。有效值为0-7。0和7都表示周日。1-6分别表示周一到周六。


  支持以下操作:


  *****表示匹配所有有效值。


  M-N表示一个连续的有效值范围。比如在DOW中用1-5,表示取周一到周五。


  M-N/X或者*/X表示以X为步长,取指定连续范围或所有有效值范围内的值。比如在DOW中用1-5/2,表示取周一,周三,周五。


  A,B,.....Z表示枚举。比如在DOW中用1,2,6,表示取周一,周二,周六。


  示例:


  每周一、三、五,每天上午10点整,自动触发任务的执行。


  定时配置如下:0 10**1,3,5


  MINUTE(分钟):值为0。


  HOUR(小时):值为10


  DOM(每月的天数):值为*没有指定一个月当中,只有哪几天运行。所以用*匹配所有有效值。


  MONTH(一年的月份):值为*没有指定一年当中,只有哪个月运行。所以用*匹配所有有效值。


  DOW(每周的天数):值为1,3,5。用枚举方式。因为即不是所有值,也不是连续的有效值。


  4、构建(Build)


  此一步是用来实现所有你想用此Job做的事情。


  添加构建步骤:按顺序执行构建步骤。


  构建步骤的下拉列表选项多少,由jenkins中已安装的相关插件决定。因为许多功能都是由插件来支撑的。

10.png

  5、构建后行为(Post-build Actions)


  此一步主要在任务执行完成之后,要做的事情。


  比如要发送邮件、要展示任务执行的结果。


  方式与4中一样,都是选择相应的插件功能。


  构建后操作步骤的下拉列表选项多少,由jenkins中已安装的相关插件决定。因为许多功能都是由插件来支撑的。

10.png

  任务配置完成之后,点击立即构建,测试任务在执行时是否有错误。

13.png

  到此为止,这篇文章就为大家介绍到这里了,希望可以为大家带来更多的帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128018.html

相关文章

  • Docker在开发、测试中的应用

    摘要:对测试的影响让单元测试运行的更顺畅单元测试驱动开发是一个很好的应用程序开发方式,单元测试往往也是和代码一起被提交到代码仓库中。但是很多单元测试通常依赖于很多其他服务,而这些服务的标准化配置往往是一个难点,如数据库的搭建防火墙的配置等。 传统的软件开发、测试、运维需要三个团队在三个不同的环境中进行,而三个环境的不同引发了很多的问题。如:工作内容的重复;开发环境中可运行的程序在测试和运维环...

    mating 评论0 收藏0
  • 基于 jenkins docker 的个推持续集成平台

    摘要:基于的特性,以及持续集成的需求,个推采用为持续集成搭建了一整套测试系统。个推持续集成流程以一个假设名为模块为例,以开发人员的视角阐述了持续集成的逻辑。 软件开发过程中,开发成员经常需要把自己工作集成到项目中,通常每个成员每天至少集成一次。如果项目较小,对外部的依赖较小,那么软件集成可能不会是什么问题。但是目前很多软件项目特别是互联网项目面临着需求不明确,系统架构复杂,任务分配混乱等一系...

    binaryTree 评论0 收藏0
  • fir.im weekly - 「 持续集成 」实践教程合集

    摘要:来这里看看的工程师如何进行持续集成与持续部署。主要介绍了豆瓣移动持续集成和测试相关实践,用工具化自动化社会化测试来解决遇到的问题,将打包发布环节自动化。这期的持续集成实践分享就到这里。 我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集成...

    A Loity 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<