当前位置: 首页 > 面试题库 >

ElasticSearch在Groovy脚本中获取时间

尹小云
2023-03-14
问题内容

我的应用程序正在使用此脚本来增强索引中的最新项目:

(5 / ((3.16*pow(10,-11)) * abs(time() - doc[\'date\'].date.getMillis()) + 0.2)) + 1.0

它是用MVEL编写的,但是从1.3开始,对于Groovy,不推荐使用MVEL。脚本现在引发此错误:

GroovyScriptExecutionException[MissingMethodException[No signature of method: Script4.time() is applicable for argument types: () values: []\nPossible solutions: find(), dump(), find(groovy.lang.Closure), use([Ljava.lang.Object;), is(java.lang.Object), with(groovy.lang.Closure)]]

对我来说,这听起来像Groovy中获取毫秒级时间戳的功能不同。我尝试了System.currentTimeMillis(),但是又给出了另一个错误,说它不支持导入。

那么我该如何修复该time()功能以与Groovy一起使用?


问题答案:

正如您已经发现的那样,您需要用Groovy而不是MVEL重写脚本。无需花费时间,您就可以使用DateTime.now().getMillis()。以下是使用方式的示例:http : //writequit.org/org/es/index.html#time-in-groovy-
script



 类似资料:
  • 问题内容: 我可以使用Groovy脚本获取响应xml。我需要获取请求XML,因为我需要在soap ui测试中添加“断言脚本”。 我正在使用以下代码来获取响应xml 但是我不确定如何获取SOAPUI的请求xml。谁能帮我获得SOPAUI的请求xml吗? 问题答案: 要以字符串形式获取请求内容,可以使用 有关SoapUI API的更多信息,请访问http://www.soapui.org/apidoc

  • 我有一些库脚本:lib1。groovy: lib2.groovy: lib3.groovy: 并希望在另一个脚本中使用它们:conf.groovy: conf.groovy是由用户配置的,他不知道我的后台lib脚本!他只知道提供的方法/任务:a()、b()、c()。实际上,我创建lib脚本是为了简化用户。 有没有办法将lib目录中的所有脚本(脚本lib1、lib2m、lib3)都包含到conf.g

  • 问题内容: 我有一个存储在ElasticSearch中的文档,如下所示。_资源: 我可以使用脚本化的指标汇总 http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/search-aggregations-metrics-scripted- metric- aggregation.html访问 文档中的字符

  • 我需要从soapui工具的xml中获取价值,并将这些数据存储到Excel表中。我在SoapUI工具中使用了groovy脚本。 如果响应有多个输出,这些输出存储在excel表中。像LocationName和CustCity333Name有两次,所以这些输出应该存储到excel表中。请帮助我解决这个问题

  • 我有一个测试步骤,其中包含两个断言。 非SOAP错误 包含。条件是响应应包含“消息发送成功” 现在我有一个Groovy脚本,从那里我执行这个测试步骤。使用这个Groovy脚本,我需要打印断言名称、值和状态。以下是我编写的代码: 但在输出中,它显示如下: 如您所见,我可以打印断言名称和状态,但不能打印“包含”断言的值。请帮助我如何获取特定断言的值。 提前谢谢。

  • 问题内容: 在“全局属性”中的Jenkins配置(http:// JenkinsURL/configure)中,我定义了一些“环境变量”。 如何在Groovy脚本控制台(http:// JenkinsURL / script)中访问它们? 我试图找到合适的解决方案(例如:[在Jenkins构建步骤(Windows)中从groovy脚本访问构建环境变量中]提到的解决方案),但似乎它们都不适合我。 我