一.简介
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官网学习。最后,性能测试结果将显示在该项目的首页