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

 更新时间:2022年07月08日 14:40:01   作者:小旭2021  
这篇文章介绍了Pyhton自动化测试持续集成和Jenkins,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

持续集成

官方术语:

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

持续集成流程

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

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

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

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

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

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开辟了一个独立的文件夹。 

4、jenkins 管理(Jenkins Manager)

整个 jenkins 的全局配置。
包括权限管理、插件管理、节点管理等。

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

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

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

1、基本信息配置(General)

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

2、源码管理(Source Code Management)

svn/git 等,需要相应的插件支撑。
配置好源码管理后,在执行 Job 时会自动从相应的源码库里下载代码到当前 Job 的工作空间中。

3、构建触发器(Build Triggers)

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

定时任务配置规则如下:

首先,一共有 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 中已安装的相关插件决定 。因为许多功能都是由插件来支撑的。

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

此一步主要在任务执行完成之后,要做的事情。
比如要发送邮件、要展示任务执行的结果。
方式与 4 中一样,都是选择相应的插件功能。

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

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

到此这篇关于Pyhton自动化测试持续集成和Jenkins的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家

相关文章

  • Python根据给定模型进行特征权值计算

    Python根据给定模型进行特征权值计算

    在机器学习中,特征权重的计算是理解模型如何做出预测的重要步骤,本文将详细介绍如何使用Python根据给定模型计算特征权重,希望对大家有一定的帮助
    2024-11-11
  • Python中多继承与菱形继承问题的解决方案与实践

    Python中多继承与菱形继承问题的解决方案与实践

    在Python这个灵活且功能强大的编程语言中,多继承是一个既强大又复杂的概念,它允许一个类继承自多个父类,从而能够复用多个父类的属性和方法,本文将深入解释Python中的多继承概念,详细剖析菱形继承问题,并探讨Python是如何解决这一难题的,需要的朋友可以参考下
    2024-07-07
  • python排序方法实例分析

    python排序方法实例分析

    这篇文章主要介绍了python排序方法,实例分析了Python实现默认排序、降序排序及按照key值排序的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-04-04
  • python spotlight库简化交互式方法探索数据分析

    python spotlight库简化交互式方法探索数据分析

    这篇文章主要为大家介绍了python spotlight库简化的交互式方法探索数据,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 使用tkinter实现三子棋游戏

    使用tkinter实现三子棋游戏

    这篇文章主要为大家详细介绍了使用tkinter实现三子棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • Python字符串的常见操作实例小结

    Python字符串的常见操作实例小结

    这篇文章主要介绍了Python字符串的常见操作,结合实例形式总结分析了Python字符串的查询、转换、分割、计算等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • Python 比较文本相似性的方法(difflib,Levenshtein)

    Python 比较文本相似性的方法(difflib,Levenshtein)

    今天小编就为大家分享一篇Python 比较文本相似性的方法(difflib,Levenshtein),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python 键盘事件详解

    Python 键盘事件详解

    这篇文章主要为大家详细介绍了Python的 键盘事件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Anaconda第三方库下载慢的解决方法

    Anaconda第三方库下载慢的解决方法

    本文主要介绍了Anaconda第三方库下载慢的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Python中Scrapy+adbapi提高数据库写入效率实现

    Python中Scrapy+adbapi提高数据库写入效率实现

    本文主要介绍了Python中Scrapy+adbapi提高数据库写入效率实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10

最新评论