Перейти к содержимому

Фотография

Передача JMeter параметра в BeanShell sampler

parameter beanshell jmeter

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 IrinaVa

IrinaVa

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Ирина

Отправлено 24 сентября 2015 - 09:55

Привет,

 

Помогите пожалуйста разобраться?

JDBC запрос в JMeter возвращает значение VARCHAR(35) из БД, значение записывается в variable name "OutFileId".

Далее мне через BeanShell preprocessor нужно обновить XML file, обновить значение ноды infileId этим значением параметра "OutFileId". 
<Header appId="FEI" date="2015-09-20" fileFailReason="88" fileId="5139" infileId="подставить значение параметра">

Делаю так:

           Node Header = document.getElementsByTagName("Header").item(0);
           NamedNodeMap attribute = Header.getAttributes();
           Node nodeAttr2 = attribute.getNamedItem("infileId");
           nodeAttr2.setTextContent("${OutFileId}"); - на этом моменте тест обламывается без объяснений. В response data Unexpected system error.
 
Пробовала последнюю строчку задать так:
           nodeAttr2.setTextContent("OutFileId"); - тогда в XML файл пишется название параметра infileId="OutFileId", но не его значение. 
 
Пробовала последнюю строчку задать так:
           nodeAttr2.setTextContent(vars.getObject("OutFileId")); - тогда в XML файл пишется пустое значение infileId="".
 
Пробовала последнюю строчку задать так:
           nodeAttr2.setTextContent(vars.get("OutFileId")); - тогда в XML файл тоже пишется пустое значение infileId="".
 
Не понимаю, как передать в beanshell preprocessor значение параметра из JDBC запроса.

 

Прикрепленные файлы

  • Прикрепленный файл  OutFileId.jpg   64,29К   0 Количество загрузок:

  • 0

#2 soleksenko2702

soleksenko2702

    Постоянный участник

  • Members
  • PipPipPip
  • 193 сообщений
  • ФИО:Олексенко Сергей

Отправлено 09 октября 2015 - 10:45

 

Привет,

 

Помогите пожалуйста разобраться?

JDBC запрос в JMeter возвращает значение VARCHAR(35) из БД, значение записывается в variable name "OutFileId".

Далее мне через BeanShell preprocessor нужно обновить XML file, обновить значение ноды infileId этим значением параметра "OutFileId". 
<Header appId="FEI" date="2015-09-20" fileFailReason="88" fileId="5139" infileId="подставить значение параметра">

Делаю так:

           Node Header = document.getElementsByTagName("Header").item(0);
           NamedNodeMap attribute = Header.getAttributes();
           Node nodeAttr2 = attribute.getNamedItem("infileId");
           nodeAttr2.setTextContent("${OutFileId}"); - на этом моменте тест обламывается без объяснений. В response data Unexpected system error.
 
Пробовала последнюю строчку задать так:
           nodeAttr2.setTextContent("OutFileId"); - тогда в XML файл пишется название параметра infileId="OutFileId", но не его значение. 
 
Пробовала последнюю строчку задать так:
           nodeAttr2.setTextContent(vars.getObject("OutFileId")); - тогда в XML файл пишется пустое значение infileId="".
 
Пробовала последнюю строчку задать так:
           nodeAttr2.setTextContent(vars.get("OutFileId")); - тогда в XML файл тоже пишется пустое значение infileId="".
 
Не понимаю, как передать в beanshell preprocessor значение параметра из JDBC запроса.

 

Вы уверены что из БД что-то возвращается?


  • 0

#3 IrinaVa

IrinaVa

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Ирина

Отправлено 09 октября 2015 - 11:18

Да, значение параметра выводится на печать.
Решение уже нашла, нужно было правильно описать одно значение из массива ${OutFileId_1}


  • 0



Темы с аналогичным тегами parameter, beanshell, jmeter

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных