当前位置: 首页 > news >正文

jmeter-beanshell学习9-放弃beanshell

写这篇时候道心不稳了,前面写了好几篇benashell元件,突然发现应该放弃。想回去改前面的文章,看了看无从下手,反正已经这样了,我淋了雨,那就希望别人也没有伞吧,哈哈哈哈,放在第九篇送给有缘人。

这个放弃,倒也不是脚本里的从入门到放弃,是发现了一个比beanshell元件更好用的:JSR223,之前也用过这个调试脚本,但是调完了还是用beanshell,也没仔细看这个,因为当时偶然看到的一句话,beanshell报错的时候,可以用这个调试,就一直以为beanshell是正统。

看jmeter里面,凡是有beanshell的地方,都有JSR223。网上找了半天这俩有啥区别,还是没理出个头绪,只能说说我的看法了。

你问JSR223算什么东西?beanshell不报的错,JSR223报;beanshell不支持的语言,JSR223支持。一句话:beanshell管得了的JSR223要管,beanshell管不了的JSR223更要管。

这个JSR223看这样子支持多种语言,包括熟悉的beanshell,其他语言不熟,就不看了。

然后写段代码把两个取样器都试一下

这是一段会报错的for循环,beanshell取样器执行报错,看着没啥头绪,再看一下JSR223,语言还是选了beanshell,好像别的语言也都差不多

这个提示除了beanshell给的那两行,还多了在第三行的提示。其实这个问题是beanshell不能直接打印数字,得转成字符串,设置变量时候也只能传字符型,获取变量更是直接给转化成字符型。

再看另一个报错,写自动化脚本时候经常遇到的

遇到的多了,知道Error invoking bsh method: eval    Sourced file这个是没取到值的原因,再看JSR223

报错第二行,就是a没取到值的原因,在第二行用的时候报错了。工作中获取多个值,然后报错有值没取到,再给个行数的提示,非常完美。

说了这么多JSR223的好,但是我的脚本为什么没有改成用这个,主要原因是懒得再新建这么多东西,然后再复制粘贴了。而且JSR223默认的是groovy,拿之前计算金额的beanshell执行

如果我把代码复制到JSR223,但是忘了改语言

报错了。所以写自动化也要坚持编程第一原则:只要代码能跑,就不要动了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • k8s快速部署一个网站
  • tkinter-TinUI-xml实战(11)多功能TinUIxml编辑器
  • 【python学习】python标准库之正则表达式库re的定义、功能和函数,以及正则表达式的元字符和含义
  • 【深度学习入门篇 ②】Pytorch完成线性回归!
  • Ubuntu实战续篇:Apache httpd轻松搭建高效代理服务器
  • Spring AOP 实现 Excel 导出统一处理
  • Linux——公网 IP别名设置,清屏,删除别名,在linux中提供alias永久化的方法,命令历史
  • 【Superset】dashboard 自定义URL
  • ESP32CAM物联网教学11
  • 微服务中的 “服务发现机制” 简介
  • 链接追踪系列-07.logstash安装json_lines插件
  • Redis① —— Redis基础
  • 数据分析_计划
  • 金蝶云苍穹-插件开发(四)GPT开发相关插件
  • 【云岚到家】-day05-6-项目迁移-门户-CMS
  • JS 中的深拷贝与浅拷贝
  • Consul Config 使用Git做版本控制的实现
  • Git学习与使用心得(1)—— 初始化
  • Java多态
  • TypeScript迭代器
  • 关于springcloud Gateway中的限流
  • 实战|智能家居行业移动应用性能分析
  • 最简单的无缝轮播
  • 最近的计划
  • zabbix3.2监控linux磁盘IO
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • # 达梦数据库知识点
  • #if等命令的学习
  • #include
  • (02)Unity使用在线AI大模型(调用Python)
  • (3)llvm ir转换过程
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (六)Flink 窗口计算
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)模仿学习-Action数据的模仿
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .net dataexcel winform控件 更新 日志
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • //解决validator验证插件多个name相同只验证第一的问题
  • /run/containerd/containerd.sock connect: connection refused
  • @EnableWebMvc介绍和使用详细demo
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
  • [BJDCTF2020]Easy MD51
  • [Bug]使用gradio创建应用提示AttributeError: module ‘gradio‘ has no attribute ‘inputs‘
  • [bzoj 3534][Sdoi2014] 重建
  • [Codeforces] number theory (R1600) Part.11
  • [fsevents@^2.1.2] optional install error: Package require os(darwin) not compatible with your platfo
  • [IE编程] WebBrowser控件的多页面浏览(Tabbed Browsing)开发接口
  • [ios]准备好app后使用xcode发布ios操作
  • [java] 23种设计模式之责任链模式