概述

我们用jenkins做持续集成的时候,常常需要跑不同的脚本,传不同的参数。尤其是性能基准测试,线程数和持续时间需要实时调整以满足我们的测试需求。那么是不是需求变了,我们 就需要重新准备一套脚本?或者说我们需要去GUI界面下调整线程数,再重新上传脚本去集成呢?这样繁琐的操作会导致效率大幅降低。我们需要一个动态参数去实现工作效率最大化

解决方法

Jmeter动态命令行+Jenkins的build with parameter插件

具体实现

1:jmeter动态参数

**JMeter提供了动态修改参数的方法,在命令行使用 -J 来指定JMeter 变量,在脚本里面使用__P() 函数来获取命令中指定的变量值**

如下图:

此图表示将线程数和持续时间写成变量,在命令行中通过下面的语句来调用:
jmeter -Jthread=\({thread_num} -Jtime=\){run_time}
其中thread_numrun_time变量值可以动态的从Jenkins页面自己填写。

2:jenkins动态参数

安装配置Jenkins的build with parameter

在项目配置中选择动态参数

项目构建的时候通过参数来进行构建

3:命令行传递动态参数



动态参数不光可以控制线程和运行时间,也可以参数化运行脚本的名称,host。也可以运用在分布式上

性能测试全系列博客
jmeter接口自动化系列博客
jmeter基础内容在线公开课
接口自动化课程
性能测试课程

jenkins 参数化运行性能测试脚本的更多相关文章

  1. jenkins之Job建立-运行 git 脚本

    新建一个自由风格的项目,运行git脚本 1.点击菜单栏中的“新任务” 2.进入该页面后输入一个项目名称,然后选择“构建一个自由风格的软件项目”,滑动到最底端,点击ok(在左下角) 3.进入下图页面后 ...

  2. Jenkins之Job建立-运行本地脚本

    新建一个自由风格的项目,运行本地脚本 1.点击菜单栏中的“新任务” 2.进入该页面后输入一个项目名称,然后选择“构建一个自由风格的软件项目”,滑动到最底端,点击ok(在左下角) 3.进入下图页面后 “ ...

  3. LR实现http协议性能测试脚本

    1.  GET方式的HTTP请求性能测试脚本 Action() { web_set_max_html_param_len("); web_reg_save_param("retCo ...

  4. Loadrunner Webservice接口性能测试脚本编写优化总结

    本文主要介绍使用Loadrunner Webservice接口性能测试脚本编写及优化总结. 1.Webservice协议脚本编写流程 下面介绍使用Loadrunner 11调用Webservice接口 ...

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

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

  6. 性能测试脚本开发(LR.NET控件)

    性能测试过程中,最耗费经历的就是编写性能测试脚本的过程,在大部分的测试工具中都是采用录制的方式,通过录制产生脚本,然后根据需要进行修改,以及参数化.有些时候为了能够完成某一个功能的脚本,需要将录制下来 ...

  7. jenkins参数化构建&HTML报告

    背景: 每次构建项目时都需要去修改一下配置,然后保存,再去立即构建.这样修改容易修改出错误,影响到执行脚本,且每次都要去修改配置,不容易修改,操作也比较麻烦.所以决定将Jenkins修改为参数化构建. ...

  8. 老李推荐:第5章3节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 启动脚本

    老李推荐:第5章3节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 启动脚本   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性 ...

  9. Loadrunner Http接口Get/Post方法性能测试脚本解析

    最近使用LoadRunner 11进行了一次完整的Http WEB接口性能测试,下面介绍下Http接口Get/Post方法性能测试脚本通用编写方法. 1. Http接口性能测试基本流程 首先定义了一个 ...

随机推荐

  1. python 文件监听

    对文件进行监听.过滤 def tail(filename): f = open(file=filename, mode='r', encoding='utf-8') # 打开文件不能用with,因为监 ...

  2. ORM _meta

    import os if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'XadminDemon.se ...

  3. Spring加载早期获取BasePackage

    public class GetBasePackage { private Class<? extends Annotation> annotation; public GetBasePa ...

  4. 如何取消chrome的自动翻译

    设置中搜索“翻译” 然后关掉“询问是否翻译非您所用语言的网页”的选项即可 需要翻译的时候在目标网页右键“翻译成中文”即可 用github的时候烦的要死,翻译的贼不准.

  5. umake ide -h

    umake ide -husage: umake ide [-h]                 {netbeans,idea,clion,eclipse,atom,idea-ultimate,ec ...

  6. 使用Razor表达式 使用条件语句 来自 精通ASP-NET-MVC-5-弗瑞曼

  7. .Net Core建站(2):EF Core+CodeFirst数据库迁移

    上一篇的话,说了下怎么使用EF7 实现 CodeFirst去生成数据库, 其实还有好多问题的,这次一点一点的解决吧,都挺简单,不过零零散散的,, 1.读取配置文件,获得链接字符串 2.使用数据库进行增 ...

  8. laravel 队列服务使用总结

    laravel 队列服务使用总结 使用步骤 配置队列驱动 //env文件,有的版本是QUEUE_DRIVER QUEUE_CONNECTION=database 迁移队列需要的数据表,在数据库中生成j ...

  9. Java 构造方法总结

    Java 构造方法总结 ①方法名和 类名相同 ②在方法名的前面没有返回值类型的声明 ③在方法中不能使用return语句返回一个值 ④在创建对象时,要调用new,如:book b1=new book() ...

  10. Kubernetes 服务自动发现CoreDNS

    前言 Service服务,是一个概念,逻辑通过selector标签代理指定后端pod.众所周知,pod生命周期短,状态不稳定,pod错误异常后新生成的Pod IP会发生变化,之前Pod的访问方式均不可 ...