Получение MD5 hasmap для сравнения

Я пытаюсь получить хеш MD5 для строки, используя карате для сравнения.

Я создал common.feature со следующим содержанием:

  • Функция: общие методы использования

  • Фон:

    def getMDhash = function(pdfFile){return DigestUtils.md5Hex(pdfFile).toUpperCase()}
    
  • Сценарий: пример с использованием другого файла функций для его вызова:

    • Feature: Compute All
  • Сценарий: метод проб и ошибок

    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: getMDhash ('моя первая попытка') в com.intuit.karate.ScriptBindings.eval (ScriptBindings.java:115) в 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) в?. * def final = getMDhash ('моя первая попытка') (testSuite / users / dummy.feature: 7) Вызвано: javax.script.ScriptException: ReferenceError: «DigestUtils» не определен в строке номер 1 в jdk.nashorn.api.s cripting.NashornScriptEngine.throwAsScriptException (NashornScriptEngine.java:470) в jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl (NashornScriptEngine.java:454) в jdk.nashorn.api.scripting.NashornEplus () в jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl (NashornScriptEngine.java:402) в jdk.nashorn.api.scripting.NashornScriptEngine.eval (NashornScriptEngine.java:155) в javax.scriptine.Abstract.javaEngScript : 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.evalKara teExpression (Script.java:170)


person Shubs    schedule 07.06.2018    source источник


Ответы (1)


Кажется, вам не хватает нагрузки 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.

person Peter Thomas    schedule 07.06.2018