Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(三)

一、Jmeter中的Bean Shell组件和语言规则

BeanShell是一种完全符合java语法规则的脚本语言,同时他还有自己的语法规则。

java包括:javase,jjavaee,javame

Jmeter有哪些Bean Shell:

1.前置处理器:Beanshell预处理程序。

2.定时器:BeanShell

3.采样器:BeanShell

4.后置处理器:BeanShell

5.断言:BeanShell

6.监听器:BeanShell


二、BeanShell的内置的变量和语法规则

1.log 打印日志

log.info("123");

log.error("123");

//在控制台打印

System.out.println("123");

2.vars表示:JmeterVariables,操作Jmeter变量,(只能在当前线程组使用)

1)用户定义的变量

2)正则表达式,JSON提取器。

3)定义变量

//获取变量的值

log.info(vars.get("123"));

log.info(vars.get("access_token"));

vars.put("www","yyy");

3.props用于存取Jmeter的全局静态变量。(可以跨线程组)

//获取全局静态变量

log.info(props.get("jmeter.save.saveservice.output_format"));

props.put("aaa","bbb");

4.prov 获取到前面一个取样器返回的信息

//获取前面取样器的值

log.info(prev.getResponseCode());

log.info(prev.getResponseDataAsString());

5.ctx 上下文

System.out.println(ctx.getProperties());

凡是Jmeter做不到的,那么都可以使用BeanShell解决。


三、Jmeter执行数据库操作

1.准备数据库的驱动Jar包。

mysql,oracle....

方式一:在测试计划里面引用。

方式二:放到jmeter的lib目录。

2,新建一个:JDBC connnection configuration.

连接池的名称:

3.新建一个:JDBC request


四、Jmeter的非GUI(界面)方式运行

1.执行JMX文件的命令:jmeter。

2.命令行参数:

-n -t -n非界面方式运行 -t指定jmx文件的位置。

-l -l指定生成的jtl格式的结果。

  • e -o -e生成HTML报告,-o指定HTML报告的文件夹(这个文件夹必须空目录)

五、使用Jmeter+Ant+Git/SVN+Jenkins实现持续集成

1.下载Ant并解压,解压之后把ant的bin目录设置到path环境变量中。

官网:http://ant.apache.org/bindownload.cgi

2.需要一个build.xml文件。并且把build.xml和test.jmx放到同一个目录。

3.配置全局配置文件:jmeter.properties

4.输入命令:ant 执行。

5.结合Jenkins

相关推荐
谈吐大方的鹏sir2 小时前
SwiftUI-Image组件学习
ios
极小狐2 小时前
GitLab 18.2 发布几十项与 DevSecOps 有关的功能,可升级体验【二】
ci/cd·gitlab·devsecops·devops·极狐gitlab
鹏多多.2 小时前
flutter-完美解决键盘弹出遮挡输入框的问题
android·flutter·ios·前端框架
杂雾无尘4 小时前
SwiftUI 动画新技能,让你的应用「活」起来!
ios·swiftui·swift
我会冲击波5 小时前
功能分支落后于develop太多,需要把开发分支合并到功能分支吗?
git·intellij idea
林大鹏天地5 小时前
iOS18系统 [YYKVStorage _dbClose] 偶现崩溃
ios
林大鹏天地5 小时前
使用Xcode16打包后,App在暗夜模式下,iOS18 切换Tabbar的item,会有一根白色线条闪过。
ios
2501_915909065 小时前
iOS 加固工具实战解析,主流平台审核机制与工具应对策略
android·ios·小程序·https·uni-app·iphone·webview
2501_915106328 小时前
iOS WebView 调试实战,第三方脚本加载失败与内容安全策略冲突问题排查指南
android·ios·小程序·https·uni-app·iphone·webview
C++ 老炮儿的技术栈19 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio