Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Jmeter - BeanShell Sampler - xml base64 encodimise probleem märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
brixxx
Lõuapoolik
Lõuapoolik
brixxx

liitunud: 04.01.2012




sõnum 18.08.2015 16:13:58 Jmeter - BeanShell Sampler - xml base64 encodimise probleem vasta tsitaadiga

Hetkel olen suutnud tööle saada ainult teksti või sellisel kujul xml-i base64 encodimise:
<films><film name="Taken" year="2008" director="Pierre Morel"/><film name="The Game" year="1997" director="David Fincher" /><film name="Regarding Henry" year="1991" director="Mike Nichols" /></films>

Antud juhul kui üritan saata SoapUI päringut, kus encoditud osa on dokument, annab xml parsimisel vea. Seega on vajalik, et enne xml encodimist oleks xml kujul:
<films>
<film name=”Taken” year=”2008″ director=”Pierre Morel”/>
<film name=”The Game” year=”1997″ director=”David Fincher” />
<film name=”Regarding Henry” year=”1991″ director=”Mike Nichols” />
</films>


Kuidas oleks võimalik sellisel kujul xml encodida, sellisel kujul xml-i decodida saan?

Eile tegin Jmeteris ühe testplaani, see asub siin - antud juhul on seal ka muutujad küljes.
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 19.08.2015 15:36:01 vasta tsitaadiga

Ei saa praegu täpselt probleemist aru. Paistab justkui mõlemal juhul oleks sisu korralikult kodeeritud base64 kodeeringusse. Mis hetkel sul see parse'mise viga tuleb?

Sinu ekraanipiltidega postitus ei aita ka suurt edasi. Kui tahad reaalset abi saata, siis anna oma testplaan ja lähteandmed, et inimesed saaks ise jooksutada plaani. (Ei, ma ei viitsi ise JMeter'it installima hakata, aga äkki keegi teine oskab siis paremini nõu anda.)

_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
brixxx
Lõuapoolik
Lõuapoolik
brixxx

liitunud: 04.01.2012




sõnum 19.08.2015 16:43:21 vasta tsitaadiga

Kahjuks ei saa õiget xml-i anda. Aga leidsin netist ühe sarnase xml-i näidise.

<?xml version="1.0"?>
<!DOCTYPE LANGLIST SYSTEM "langlist.dtd">
<?xml-stylesheet type="text/xsl" href="xmlstyle.xsl"?>
<LANGLIST>
<TITLE>List of Items Important to Markup Languages</TITLE>
<TITLE1>Languages</TITLE1>
<LIST1>
<LANGUAGES>SGML</LANGUAGES>
<LANGUAGES>XML</LANGUAGES>
<LANGUAGES>HTML</LANGUAGES>
</LIST1>
<TITLE2>Other Support</TITLE2>
<LIST2>
<OTHER>DTD</OTHER>
<OTHER>DSSSL</OTHER>
<OTHER>Style Sheets</OTHER>
</LIST2>
</LANGLIST>


Jmeter - BeanShell Sampler - encode - see ei funktsioneeri:

import org.apache.commons.codec.binary.Base64;

String response = "<?xml version="1.0"?><!DOCTYPE LANGLIST SYSTEM "langlist.dtd"><?xml-stylesheet type="text/xsl" href="xmlstyle.xsl"?><LANGLIST><TITLE>List of Items Important to Markup Languages</TITLE><TITLE1>Languages</TITLE1><LIST1><LANGUAGES>SGML</LANGUAGES><LANGUAGES>XML</LANGUAGES><LANGUAGES>HTML</LANGUAGES></LIST1><TITLE2>Other Support</TITLE2><LIST2><OTHER>DTD</OTHER><OTHER>DSSSL</OTHER><OTHER>Style Sheets</OTHER></LIST2></LANGLIST>";

byte[] encryptedUid = Base64.encodeBase64(response.getBytes());
vars.put("ENCODED",new String (encryptedUid));
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 19.08.2015 23:02:23 vasta tsitaadiga

Mis tähendab, ei funktsioneeri? Sinu toodud piltidel oli ju nii ENCODED kui ENCODED2 muutujates base64 string olemas. Milles seisneb mittetöötamine?
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
brixxx
Lõuapoolik
Lõuapoolik
brixxx

liitunud: 04.01.2012




sõnum 19.08.2015 23:58:22 vasta tsitaadiga

Ma ei hakka mitte toimivast testplaanist blogi postitust koostama, aga kirjeldan siin seda.

1. Lisan "Thread Group";
2. Lisan "User Defined Variables":
* ENCODED - UNSET;
3. Lisan "BeanShell Sampler":

import org.apache.commons.codec.binary.Base64;

String response = "<?xml version="1.0"?><!DOCTYPE LANGLIST SYSTEM "langlist.dtd"><?xml-stylesheet type="text/xsl" href="xmlstyle.xsl"?><LANGLIST><TITLE>List of Items Important to Markup Languages</TITLE><TITLE1>Languages</TITLE1><LIST1><LANGUAGES>SGML</LANGUAGES><LANGUAGES>XML</LANGUAGES><LANGUAGES>HTML</LANGUAGES></LIST1><TITLE2>Other Support</TITLE2><LIST2><OTHER>DTD</OTHER><OTHER>DSSSL</OTHER><OTHER>Style Sheets</OTHER></LIST2></LANGLIST>";

byte[] encryptedUid = Base64.encodeBase64(response.getBytes());
vars.put("ENCODED",new String (encryptedUid));


4. Lisan "Debug Sampler".
5. Lisan "View Results Tree".
6. "Debug Sampler" -> "Response Data":

JMeterVariables:
ENCODED=UNSET
JMeterThread.last_sample_ok=false
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@2340d13e
START.HMS=230647
START.MS=1440014807965
START.YMD=20150819
TESTSTART.MS=1440015239071


TULEMUS: muutuja "ENCODED" väärtus peaks olema base64 encoditud, aga ei ole.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Ma võibolla lahendasin probleemi, muutsin " " -> ' '.

1. "BeanShell Sampler":

import org.apache.commons.codec.binary.Base64;

String response = "<?xml version='1.0'?><!DOCTYPE LANGLIST SYSTEM 'langlist.dtd'><?xml-stylesheet type='text/xsl' href='xmlstyle.xsl'?><LANGLIST><TITLE>List of Items Important to Markup Languages</TITLE><TITLE1>Languages</TITLE1><LIST1><LANGUAGES>SGML</LANGUAGES><LANGUAGES>XML</LANGUAGES><LANGUAGES>HTML</LANGUAGES></LIST1><TITLE2>Other Support</TITLE2><LIST2><OTHER>DTD</OTHER><OTHER>DSSSL</OTHER><OTHER>Style Sheets</OTHER></LIST2></LANGLIST>";

byte[] encryptedUid = Base64.encodeBase64(response.getBytes());
vars.put("ENCODED",new String (encryptedUid));


2. "Debug Sampler" -> "Response Data":

JMeterVariables:
ENCODED=PD94bWwgdmVyc2lvbj0nMS4wJz8+PCFET0NUWVBFIExBTkdMSVNUIFNZU1RFTSAnbGFuZ2xpc3QuZHRkJz48P3htbC1zdHlsZXNoZWV0IHR5cGU9J3RleHQveHNsJyBocmVmPSd4bWxzdHlsZS54c2wnPz48TEFOR0xJU1Q+PFRJVExFPkxpc3Qgb2YgSXRlbXMgSW1wb3J0YW50IHRvIE1hcmt1cCBMYW5ndWFnZXM8L1RJVExFPjxUSVRMRTE+TGFuZ3VhZ2VzPC9USVRMRTE+PExJU1QxPjxMQU5HVUFHRVM+U0dNTDwvTEFOR1VBR0VTPjxMQU5HVUFHRVM+WE1MPC9MQU5HVUFHRVM+PExBTkdVQUdFUz5IVE1MPC9MQU5HVUFHRVM+PC9MSVNUMT48VElUTEUyPk90aGVyIFN1cHBvcnQ8L1RJVExFMj48TElTVDI+PE9USEVSPkRURDwvT1RIRVI+PE9USEVSPkRTU1NMPC9PVEhFUj48T1RIRVI+U3R5bGUgU2hlZXRzPC9PVEhFUj48L0xJU1QyPjwvTEFOR0xJU1Q+
ENCODED2=UNSET
JMeterThread.last_sample_ok=true
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@1cb0434a
START.HMS=230647
START.MS=1440014807965
START.YMD=20150819
TESTSTART.MS=1440016434876


Täiendasin blogi postitust siit.
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Jmeter - BeanShell Sampler - xml base64 encodimise probleem
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.