2016-06-16 1 views
0

Ошибка ниже при запуске скрипта jmeter с обработчиком столбцов Beanshell в качестве дочернего элемента для сэмплера.ОШИБКА - jmeter.util.BeanShellInterpreter: ошибка при вызове метода bsh: eval t Файл с исходным кодом: inline-оценка:

ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: `` попытка {новый_пользователь = vars.get ("prevUsrResponse"); org.json.JSONObject userJSON = new o. , , «»: Введенное объявление переменное: Класс: не org.json.JSONObject найден в пространстве имен

Ниже приведен код, написанный и запустить в JMeter 2.9.

newuser= vars.get("prevUsrResponse"); 
org.json.JSONObject userJSON= new org.json.JSONObject(newuser); 

if(prevUsrJSON.has("User") && custJSON.get("User")!= null) { 
    org.json.JSONObject contactJSON = userJSON.getJSONObject("User"); 

    contactJSON.put("UserType","Private"); 

} 

vars.put("updatedUser", userJSON.toString()); 

${updatedUser} переменная не возвращает JSON (или любое значение) при использовании в следующем запросе пробоотборника.

ответ

0

Там могут быть следующие возможные причины:

  1. Вы не имеете .jar, который обеспечивает класс org.json.JSONObject в JMeter CLASSPATH.

    • Скачать флягу т.е. от Maven central repo
    • Скопируйте его в "Lib" папку JMeter в
    • Restart JMeter, чтобы выбрать .jar до
  2. Вы не имеете соответствующую импортную линию. Добавьте его в начале сценария:

    import org.json.JSONObject; 
    

Вы можете также рассмотреть вопрос о повышении до JMeter 3.0 который поставляется со встроенной поддержкой JSON и обеспечивает JSON Path PostProcessor для извлечения данных из ответов JSON. Если вы все еще хотите Beanshell - это также возможно, просто используйте json-smart классы

+0

BeanShellPostProcessor не работает в JMeter 3.0 с той же ошибкой, что упоминалось выше. Я не могу использовать JSON Path PostProcessor в моем случае. Пожалуйста, помогите – Val

Смежные вопросы