首页 > 解决方案 > 获取 MD5 hasmap 进行比较

问题描述

我正在尝试使用空手道获取字符串的 MD5 哈希值进行比较。

我创建了一个包含以下内容的 common.feature:

我已经添加了 :

import org.apache.commons.codec.digest.*; 

在 *test.java 文件中。

但是,我在执行时仍然收到此错误:

场景:反复试验经过的时间:0.019 秒 <<< 错误!java.lang.RuntimeException:javascript 评估失败:com.intuit.karate.ScriptBindings.eval(ScriptBindings.java:115) 的 getMDhash('my first attempt') at com.intuit.karate.ScriptBindings.updateBindingsAndEval(ScriptBindings.java: 103) 在 com.intuit.karate.ScriptBindings.evalInNashorn(ScriptBindings.java:88) 在 com.intuit.karate.Script.evalJsExpression(Script.java:362) 在 com.intuit.karate.Script.evalKarateExpression(Script.java :284) 在 com.intuit.karate.Script.evalKarateExpression(Script.java:170) 在 com.intuit.karate.Script.assign(Script.java:598) 在 com.intuit.karate.Script.assign(Script. java:524) 在 com.intuit.karate.StepDefs.def(StepDefs.java:305) 在 ?. 引起:javax.script.ScriptException:ReferenceError:“DigestUtils”未在第 1 行定义 在 jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470) 在 jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:454) 在 jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl (NashornScriptEngine.java:406) 在 jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:402) 在 jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155) 在 javax.script。 AbstractScriptEngine.eval(AbstractScriptEngine.java:233) 在 com.intuit.karate.ScriptBindings.eval(ScriptBindings.java:108) 在 com.intuit.karate.ScriptBindings.updateBindingsAndEval(ScriptBindings.java:103) 在 com.intuit.karate .ScriptBindings.evalInNashorn(ScriptBindings.java:88) 在 com。intuit.karate.Script.evalJsExpression(Script.java:362) 在 com.intuit.karate.Script.evalKarateExpression(Script.java:284) 在 com.intuit.karate.Script.evalKarateExpression(Script.java:170)

标签: importkarate

解决方案


你似乎错过了DigestUtils. 尝试:

* def getMDhash = function(pdfFile){ var DigestUtils = Java.type('replace.me.DigestUtils'); return DigestUtils.md5Hex(pdfFile).toUpperCase(); }

请参阅文档的这一部分以获取类似的示例:https ://github.com/intuit/karate#http-basic-authentication-example


推荐阅读