import - 获取 MD5 hasmap 进行比较
问题描述
我正在尝试使用空手道获取字符串的 MD5 哈希值进行比较。
我创建了一个包含以下内容的 common.feature:
Feature : 使用cross的常用方法
背景:
def getMDhash = function(pdfFile){return DigestUtils.md5Hex(pdfFile).toUpperCase()}
场景:示例,使用另一个功能文件来调用它:
- 特点:计算全部
场景:反复试验
call read('common.feature') def final = getMDhash('my first attempt') print final
我已经添加了 :
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)
解决方案
你似乎错过了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
推荐阅读
- ios - AgoraKit 无法向远程用户发送 `userinfo`
- flutter - 如何使用 AnnotatedRegion 更改状态栏颜色?
- python - Python 3 中的库程序(初学者)与 psycopg2
- c# - C#根据文本在桌面上的显示位置在屏幕上移动光标
- android - 应用栏上显示多个选项菜单
- android - 放大android gradle构建错误EEXIST:文件已存在,mkdir
- python - pandas 队列的时间序列(上一年)的滞后值
- python - Error calling Flask endpoint in AWS EC2 from AWS Lambda
- imagemagick - 将文本转换为图像,当超出定义的尺寸时将文本分解为多列
- java - 当我尝试访问 Excel 文件时,我的 JAVA Swing 代码有什么问题?