如何搭建 Jenkins 自动化测试平台?

这篇具有很好参考价值的文章主要介绍了如何搭建 Jenkins 自动化测试平台?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

自动化测试搭建

代码仓库搭建

Jenkins 安装

Jenkins 插件安装

Jenkins配置maven

Jenkins 关联代码仓库

Gitlab 提交触发 Jenkins 自动构建

生成测试报告

结语


前言

在进行平台搭建前,我们首先要问自己:我需要搭建的平台的功能是什么,要实现什么目标?

在我的理解中,自动化构建平台的执行流程(目标)是:

  1. 我们将代码提交到代码托管工具上,如github、gitlab、gitee等。
  2. Jenkins要能够检测到我们的提交。
  3. Jenkins检测到提交后,要自动拉取代码,运行测试,并进行构建、打包。
  4. Jenkins执行完测试和构建后,要向相关人员发送构建结果。
  5. Jenkins要能够向我们展示测试运行的分析。

其实还可以加上自动化部署——把成功的构建添加到web 容器。

自动化测试搭建

有了大致的目标,就可以一步步实现了。

代码仓库搭建

常用的代码托管平台有GitHub、Gitlab、Gitee等。我选择了Gitlab。

Gitlab可以托管在Gitlab的网站上,也可以建立本地的Gitlab仓库。

为了访问更稳定,我选择了在自己的阿里云服务器上搭建gitlab仓库。

步骤:

  1. 服务器安装Gitlab。可以通过宝塔安装,也可以自己手动安装。安装后开放相应的端口,就可以访问到Gitlab了。

    如何搭建 Jenkins 自动化测试平台?

  2. 创建账号,登录,创建一个项目

    如何搭建 Jenkins 自动化测试平台?

  3. 为了让我们能够向该项目提交代码,需要进行ssh认证。将本地主机的SSH公钥添加到远程项目里。此外,如果远程项目是私有的,那还要添加可访问的用户群组。

    如何搭建 Jenkins 自动化测试平台?

    如何搭建 Jenkins 自动化测试平台?

Jenkins 安装

下载Jenkins的war包,放在Tomcat的webapps路径下,然后重启Tomcat。

开放相应的端口,然后就可以访问到了。

如何搭建 Jenkins 自动化测试平台?

Jenkins首次启动时,会生成一个管理员账号和密码,一定要记得。

Jenkins 插件安装

下面的配置过程中会使用到很多插件,在这里列出。配置时不再说明。

Git 、GitLab 、Email Extension 、Allure Jenkins Plugin、Maven Integration plugin

可参考博客:[Jenkins插件大全及用途简介]((19条消息) Jenkins插件大全及用途简介_pansaky的博客-CSDN博客_jenkins插件)

Jenkins配置maven

  1. 安装maven

如何搭建 Jenkins 自动化测试平台?

在系统管理-->全局工具配置中添加maven,如果服务器上已经安装了maven,那么指定MAVEN_HOME。

如果没有安装,那么可以选择版本,让Jenkins自己安装。

  1. 下载maven插件

    在系统管理-->插件管理中,搜索、安装 Maven Integration plugin 。

    如何搭建 Jenkins 自动化测试平台?

  2. 建立一个maven任务

    如何搭建 Jenkins 自动化测试平台?

Jenkins 关联代码仓库

在上面建立的maven任务的:配置-->源码管理 中添加代码仓库。

如何搭建 Jenkins 自动化测试平台?

这里,需要进行认证,添加Credentials:

如何搭建 Jenkins 自动化测试平台?

输入用户名、密码即可。然后选择刚才添加的Credential。

这样,我们就将Jenkins关联到了代码仓库上。Jenkins就能够从该代码仓库上面拉取代码了。

Gitlab 提交触发 Jenkins 自动构建

  1. 配置Jenkins触发器

    在配置-->构建触发器 中,选中 Build when a change is pushed to GitLab. GitLab webhook URL:***

    该URL在配置Gitlab钩子时要用到。

    如何搭建 Jenkins 自动化测试平台?

    继续,在构建触发器-->高级 中,点击generate,生成一个secret token。

    该token也在配置web hook 时要使用。

    如何搭建 Jenkins 自动化测试平台?

    配置完成后,点击应用、保存。

  2. 配置Gitlab web hook

    什么是web hook?他就像一个鱼钩一样,当有🐟到了,就拉一下。

    我们可以配置一个URL,当Gitlab检测到事件时(如:有新的提交时),就会向配置的URL发送消息。

    钓鱼佬,别睡了,有鱼上钩了!

    链接中输入Jenkins触发器那里的链接,私密授权码输入secret token

    如何搭建 Jenkins 自动化测试平台?

    配置完钩子后,测试一下。返回HTTP 200,就算成功了。

  3. 配置Build

    上面的配置完成了提交代码的自动下拉,但是怎么构建呢,还需要配置Build:

    由于使用的maven来进行构建,所以root pom要使用maven项目的pom文件。

    下面的Goals and options是构建时还要执行的指令,我们希望每一次构建都运行一下测试,因此填入test指令。

    这和我们在本地执行maven test指令差不多。

    如何搭建 Jenkins 自动化测试平台?

  4. 测试一下

    我们现在就完成了gitlab提交后的自动构建,来测试一下:

    向gitlab仓库提交一个测试代码,如果成功,应该能够看到构建被触发了:(我使用的是执行过的例子)

    如何搭建 Jenkins 自动化测试平台?

    然后可以看到构建的控制台输出:

    如何搭建 Jenkins 自动化测试平台?

    这就代表我们的自动构建功能实现了。

生成测试报告

我使用了Allure来生成测试报告。

  1. 安装Allure Commandline

    我们使用了Allure的项目测试后,会生成一个allure results文件,该文件里面记录了测试信息。

    Allure Commandline 的功能,就是解析这些信息,然后生成一个可视化的网页界面。

    和maven安装类似,可以指定本地的,也可以让Jenkins自己安装。

    如何搭建 Jenkins 自动化测试平台?

  2. 配置构建后操作

    Jenkins 使用maven构建后,要实现测试结果可视化,还要配置Allure来收集测试信息。

    添加一个Allure Report的构建后操作即可,Path中填写的是Allure生成的可视化页面的位置。

    如何搭建 Jenkins 自动化测试平台?

  3. 测试

    添加了Allure后,执行测试就可以看到可视化的测试报告了。

    注意,要使的Allure生效,我们的maven项目中,要添加Allure的插件。这样才能在测试时收集测试信息。

    下面是一个可运行的pom:

    <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.source>1.8</maven.compiler.source>
            <junit.version>5.7.1</junit.version>
            <aspectj.version>1.8.10</aspectj.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>4.0.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <!--        allure-->
            <dependency>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-junit5</artifactId>
                <version>RELEASE</version>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.3.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                    <configuration>
                        <testFailureIgnore>false</testFailureIgnore>
                        <argLine>
                            -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                        </argLine>
                        <systemProperties>
                            <property>
                                <name>junit.jupiter.extensions.autodetection.enabled</name>
                                <value>true</value>
                            </property>
                        </systemProperties>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-surefire-provider</artifactId>
                            <version>1.2.0</version>
                        </dependency>
                        <dependency>
                            <groupId>org.aspectj</groupId>
                            <artifactId>aspectjweaver</artifactId>
                            <version>${aspectj.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>io.qameta.allure</groupId>
                    <artifactId>allure-maven</artifactId>
                    <version>2.10.0</version>
                    <configuration>
                        <reportVersion>2.4.1</reportVersion>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    

    push 该使用了Allure的项目,构建后会生成Allure Report文件:

    如何搭建 Jenkins 自动化测试平台?

    点击查看Allure Report文件:

    如何搭建 Jenkins 自动化测试平台?

结语

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!文章来源地址https://www.toymoban.com/news/detail-413419.html

到了这里,关于如何搭建 Jenkins 自动化测试平台?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用jenkins、ant、selenium、testng搭建自动化测试框架

    如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗?没有吧!应为那样真的是很low的!下面说一下

    2024年04月16日
    浏览(38)
  • Jenkins+Docker+Gitee搭建自动化部署平台

    目录 服务器准备 Docker安装 yum 包更新到最新 设置yum源 安装docker 启动和开机启动 验证安装是否成功 Jenkins安装 拉取镜像 创建映射目录 运行镜像 运行出错 修正权限 重新运行镜像 新建安全组,放通8080端口 激活Jenkins Jenkins插件 Jenkins全局工具配置 自动构建Springboot项目 准备好

    2024年02月04日
    浏览(46)
  • 接口测试之Jmeter+Ant+Jenkins接口自动化测试平台

    一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。 Jmeter 支持接口的测试, Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测试平台。 环境依赖 JDK环境配置 Jmeter安装 Ant安装环

    2024年02月13日
    浏览(78)
  • JMeter+Ant+jenkins搭建接口自动化测试环境

    目录 前言:        1.ant简介 2. 构建ant环境 3.JMeter与Ant集成 4. 报告优化 5.jenkins持续集成 前言: JMeter是一个开源的性能测试工具,可以用于测试Web应用程序或API接口的性能,支持多种通信协议和数据格式。Ant是一个构建工具,可用于自动化构建、测试、打包和部署软件项目

    2024年02月09日
    浏览(44)
  • jenkins、ant、selenium、testng搭建自动化测试框架

    如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗?没有吧!应为那样真的是很low的!下面说一下

    2024年02月08日
    浏览(39)
  • 【Pytest实战】Pytest+Allure+Jenkins自动化测试框架搭建

    😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊 座右铭:不想当开发的测试,不是一个好测试✌️。 如果感觉博主的文章还不错的话,还请点赞、收藏哦

    2024年02月15日
    浏览(47)
  • 【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路

    前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入,我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段,需要在每个版本中,对某些新增接口进行性能测试,有时还需要在一天中的不同时段分别进行性能测试,如果一味地采取手动

    2024年02月09日
    浏览(44)
  • Pytest+selenium+allure+Jenkins自动化测试框架搭建及使用

    一、    环境搭建 1.    Python下载及安装 Python可应用于多平台包括windows, Linux 和 Mac OS X, 本文主要介绍windows环境下。你可以通过终端窗口输入 \\\"python\\\" 命令来查看本地是否已经安装Python以及Python的安装版本。     如未安装python, 推荐下载python 3.8.3以上版本,本文主要介绍window

    2024年01月18日
    浏览(40)
  • Docker容器搭建Python+Jenkins+Selenium自动化测试(最详细)

    使用Docker搭建Jenkins+python3+selenium项目,在Linux服务器上部署项目代码,实现自动构建。 解决方案 自动构建工具选型:jenkins 中间件选型:docker 代码运行环境:python3 脚本运行工具:chrome浏览器、chromedriver、selenium库 web自动化测试:https://www.bilibili.com/video/BV1MS4y1W79K/ docker分布式自

    2024年02月01日
    浏览(41)
  • 【HttpRunnerManager】搭建接口自动化测试平台操作流程

    一、需要准备的知识点 1. linux: 安装 python3、nginx 安装和配置、mysql 安装和配置 2. python: django 配置、uwsgi 配置 二、我搭建的环境 1. Centos7 (配置 rabbitmq、mysql 、Supervisord) 2. python 3.6.8 (配置 django、uwsgi) 3. git 1.8.3.1 (克隆代码) 三、搭建过程 1. 配置数据库(安装 mysql ,自

    2024年02月10日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包