一.简介

Taurus是-个开源的自动化框架,用于运行各种开源负载测试工具和功能测试工具。其支持最流行的开源负载测试工具Apache JMeter、Selenium、 Gatling、 The Grinder等。

Taurus的关键特性有:

  • 我们可以使用YAML或JSON来描述性能测试。这也正是我们想要的test as code。
  • 它会根据我们选择的性能测试类型自动下载相应的工具。比如在下例中会使用JMeter ,那么Taurus会自动下载JMeter并安装。

Jenkins的Performance插件就是使用Taurus来进行性能测试的。在进行性能测试之前,首先要准备环境。

二.JMeter测试

1.在运行性能测试环境的机器上,准备Python环境。

2.安装Performance插件

3.不需要自行安装Taurus,Performance插件如果发现机器上没有安装Taurus,它会自动运行pip install bzt命令进行安装。

4.在现有的项目中加入Jenkinsile

pipeline {
agent any stages {
stage('performance test') {
steps {
bzt params: 'blaze_ exist_ _jmeter_ config. yml
}
}
}
}

5.在项目中加入blaze_exist_jmeter_config.yml文件

execution:
- scenario: simple scenarios:
simple:
script: SimpleTestPlan. jmx modules:
jmeter:
#注意,下载文件必须使用. zip后缀
download- link: http://mirrors . tuna . tsinghua . edu. cn/ apache/ /jmeter/binaries/ apache - jmeter- {version}. zip
version: 5.0

blaze_exist_jmeter_config.yml是Taurus的配置文件,用于描述如何进行性能测试。

以上配置很简单,就是执行一个名为simple的场景( scenario) ,这个场景就是执行现有的JMeter脚本。modules配置了JMeter的下载地址及版本。上例中 ,我们指定了国内的下载链接,避免从国外下载。

在Jenkinsfile中,bzt是Performance插件提供的一个步骤。其参数如下:

  • params :字符串类型, Taurus配置文件的路径
  • alwaysUseVirtualenv:布尔类型,如果为false, 则不使用virtualenv进行环境隔离。默认值为true
  • bztVersion :字符串类型, bzt版本
  • generatePerformanceTrend :布尔类型,是否在Jenkins项目详情页生成性能趋势图。默认值为true
  • useBztExitCode :布尔类型,是 否使用bzt步骤的退出码作为Jenkins项目的构建结果。默认值为true
  • useSystemSitePackages :布尔类型,是否为virtualenv加上"--system-site-packages"参数,默认值为true
  • workingDirectory :字符串类型,指定bzt的工作目录
  • workspace:字符串类型,已经废弃,请使用workingDirectory

只有params参数是必需的,其他参数都是可选的。至此,以上用法可以满足大部分人在Jenkins上使用JMeter的需求。关于Taurus配置文件的更多语法,大家可以前往Taurus官网学习。最后,性能测试结果将显示在该项目的首页

Jenkins性能测试的更多相关文章

  1. jmeter+Jenkins性能测试自动化搭建

    一.安装java.ant.maven 1.官网下载tar.gz包 2.解压相应的tar包 3.配置/etc/profile路径 4.source /etc/profile 使配置生效. 二.安装Jen ...

  2. Jmeter+jenkins接口性能测试平台实践整理(二)

    本篇为Jmeter+jenkins+Ant方式执行性能测试 1.设置JDK,ANT环境变量: 2.build.xml文件: <?xml version="1.0" encod ...

  3. Jmeter+jenkins接口性能测试平台实践整理(一)

    最近两周在研究jmeter+Jenkin的性能测试平台测试dubbo接口,分别尝试使用maven,ant和Shell进行构建,jmeter相关设置略. 一.Jmeter+jenkins+Shell+t ...

  4. 基于jmeter,jenkins,ANT接口,性能测试框架

    背景 公司计划推接口和性能测试,搭建这个性能测试框架框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能,接口测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的 ...

  5. 基于Jmeter和Jenkins搭建性能测试框架

    搭建这个性能测试框架是希望能够让每个人(开发人员.测试人员)都能快速的进行性能测试,而不需要关注性能测试环境搭建过程.因为,往往配置一个性能环境可能需要很长的时间. 1.性能测试流程 该性能测试框架工 ...

  6. jenkins+ant+jmeter自动化性能测试平台

    jenkins+ant+jmeter自动化性能测试平台 Jmeter是性能测试的工具,java编写.开源,小巧方便,可以图形界面运行也可以在命令行下运行.网上已经有人使用ant来运行,http://w ...

  7. 基于Jmeter跟Jenkins的自动化性能测试的一站式解决方案(转)

    www.MyException.Cn  网友分享于:2015-08-26  浏览:0次   基于Jmeter和Jenkins的自动化性能测试的一站式解决方案 作者: Yu, Qingguo Shen, ...

  8. Jmeter+maven+Jenkins构建云性能测试平台(mark 推荐)

    转自:http://www.cnblogs.com/victorcai0922/archive/2012/06/20/2555502.html Jmeter+maven+Jenkins构建云性能测试平 ...

  9. 使用Jenkins和Jmeter搭建性能测试平台

    参考文档:http://blog.csdn.net/liuchunming033/article/details/52186157 jenkins的性能测试结果展现插件:https://wiki.je ...

随机推荐

  1. 大爽Python入门教程 0-4 安装Pycharm

    大爽Python入门公开课教案 点击查看教程总目录 安装重量级IDE--Pycharm 一 下载 下面步骤1,2中网络卡顿的朋友, 请直接前往步骤3来下载. 使用搜索引擎搜索Pycharm, 打开搜索 ...

  2. Python 流程控制-分支结构详解

    目录 Python 流程控制--分支结构 1.结构分类 顺序结构 分支结构 循环结构 2.分支结构详解 分支结构 定义格式: if 单支结构 if 双分支结构 if 多分支结构 Python 流程控制 ...

  3. Redis 源码简洁剖析 02 - SDS 字符串

    C 语言的字符串函数 C 语言 string 函数,在 C 语言中可以使用 char* 字符数组实现字符串,C 语言标准库 string.h 中也定义了多种字符串操作函数. 字符串使用广泛,需要满足: ...

  4. 【CSP2019 D1T2】【括号树】

    题面 不再多说,想必大家都看过这个题 思路 我们可以手推几个满足条件的字符串 我们发现在这些字符串里 每个)都与离它最近的(的匹配 所以我们维护树上每个节点到根节点中没用使用过的(的位置(nl[n]) ...

  5. 《python编程从入门到实践》读书实践笔记(一)

    本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...

  6. perl 获取目录信息

    1 #!/usr/bin/perl -w 2 use strict; 3 use FindBin qw($Bin $Script); 4 5 my $rp=$Bin; 6 print "th ...

  7. Python基础之格式化输出的三种方式

    目录 1. 格式化输出的三种方式 1.1 占位符 1.2 format格式化 1.3 f-string格式化 1. 格式化输出的三种方式 在程序中,需要将输出信息打印成固定的格式,这时候就需要格式化输 ...

  8. mongoDB整个文件夹拷贝备份还原的坑

    现网有一个mongoDB数据库需要搬迁到新服务器,开发那边的要求是先搬迁现在的数据库过去,然后剩下的以后他们用程序同步. 数据库大楷20G左右,现网是主备仲裁的,停掉备点,拷贝了全部文件. 新服务器也 ...

  9. 进阶版的java面试

    来自一名2019届应届毕业生总结的Java研发面试题汇总(2019秋招篇)        2018年Java研发工程师面试题            Java研发工程师面试题(Java基础)       ...

  10. 修改linux系统下mysql数据库登陆密码(密码忘记)

    报错:Access denied for user 'root'@'localhost' (using password: NO) 解决方案: 1. 检查mysql服务是否启动,如果启动,关闭mysq ...