当前位置: 首页 > 知识库问答 >
问题:

JSR223脚本指向文件位置抛出错误

空佐
2023-03-14

添加了 JSR223 预处理器来指向需要由 HTTP 请求选择的文件。当我循环运行请求时,它每次都需要选择不同的文件,因此文件位置有点复杂。所以,我尝试了如下内容:JSR223中的文件路径

但是,这引发了一个错误。我应该用两个反斜杠吗?这也会引发错误。

我使用以下方法获取项目位置中的文件夹:

$ { _ _ BeanShell(import org . Apache . jmeter . services . file server;FileServer.getFileServer()。getBaseDir();)}\FileToUpload\

但是,我需要转到每个线程上的不同文件夹,因此通过JSR223脚本获取文件的方法很复杂。有更简单的方法吗?

共有1个答案

衡子安
2023-03-14

> < li>

首先,从JMeter 3.1开始,您应该使用JSR223测试元素和Groovy语言,因此考虑迁移到__groovy()函数

其次,您需要使用三斜杠,因为您需要:

>

  • 用另一个反斜杠转义Java字符串中的每个反斜杠

    第三个反斜杠是处理JMeter Functions转义元字符(例如,如果您的函数包含逗号,则需要使用\、等反斜杠对其进行转义

    ${__groovy(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir() + '\\\Test Plan.jmx',)}
    

    或者,您可以使用正斜杠:

    ${__groovy(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir() + '/Test Plan.jmx',)} 
    

    或转到file.separator属性

    ${__groovy(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir() + System.getProperty('file.separator') + 'Test Plan.jmx',)}
    

  •  类似资料:
    • 我的文件夹里有这样的脚本: 我想将所有脚本保留在同一个文件夹中,但在迁移中忽略其中一些脚本。确切地说,我只想包括这个脚本 的路径是。 我读了这个问题,但是发现我不能为迁移指定单个sql脚本(在接受的答案中,它使用指向java包的类路径)。 这是可能的吗?我得到了以下错误: 当我更改

    • 问题内容: 从技术上讲,将脚本放在html页面底部是JavaScript最佳实践。但是我很困惑为什么某些脚本应该像Angular那样在页面顶部调用。因此,当我使用类似Angular的库时,是否违反了JavaScript最佳做法? 有什么解释吗? 问题答案: 从技术上讲,这仅是最佳实践,如果您不关心顺序文件的“太多”加载。您确定要先调用一个库。因此,人们在加载HTML之后将所有自定义脚本加载到底部,

    • 我使用的是JMeter5.0,在JSR223后处理程序中编写了一段java代码。代码如下-- 然而,当我执行测试计划时,在控制台中我会得到以下错误- ScriptException:在文件中:内联计算:的内联求值中,导入java.util.Map;导入java.util.HashMap;Map gamePlayHistoryMap=新H。..“在第6行 有人能帮我指出我可能错在哪里吗?

    • 我目前正试图将我的版本化脚本精简为一个基线脚本(我们不为flyway付费,所以这很痛苦)。所以我删除了我的模式,并试图运行我的一个大脚本,它包含了我所拥有的一切。我从我的DBeaver客户端导出了DDL。然而,当启动我的应用程序时,我得到了这个错误: 我认为这个错误是因为可重复脚本在版本控制之前运行,而版本控制脚本创建了所有的表。我的理解是flyway最后运行可重复脚本。我是不是丢了什么东西还是什

    • 我的双链表有两个虚拟节点,头部和尾部。函数对我来说非常适合,但是当我尝试使用与相同的算法时,它会一直为我打印虚拟节点。为什么会这样? 预期结果: 我的结果:

    • 我已经使用android Studio创建了一个基本的android颤振应用程序。我记得运行过几次这个应用程序,但突然它不运行了。根据一些帮助,尝试将targetSdkVersion和compileSdkVersion从27更改为28,但没有成功。试图了解问题的根源,因为我对Android开发非常陌生。 我注意到的:只有当我在pubspec.yaml中添加地理定位器或位置包并导入它时,才会出现以下

    • 问题内容: 我正在尝试在shell脚本中编写代码。当我尝试将代码从批处理脚本转换为外壳脚本时,出现错误。 批处理文件代码 外壳脚本中的代码 我想根据日期对快照进行排序,并将最新日期创建的快照保存在文件中。 ece-describe-snapshots的样本输出: 它将包含这样的记录 snaphsot的最新文件应包含: 任何建议或线索表示赞赏。 问题答案: 它是一种代码气味,您必须两次运行命令。 不