praegune kellaaeg 16.06.2024 00:46:32
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
brixxx
Lõuapoolik
liitunud: 04.01.2012
|
18.08.2015 16:13:58
Jmeter - BeanShell Sampler - xml base64 encodimise probleem |
|
|
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 |
|
|
Fukiku
Kreisi kasutaja
liitunud: 06.11.2003
|
19.08.2015 15:36:01
|
|
|
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 |
|
|
brixxx
Lõuapoolik
liitunud: 04.01.2012
|
19.08.2015 16:43:21
|
|
|
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 |
|
|
Fukiku
Kreisi kasutaja
liitunud: 06.11.2003
|
19.08.2015 23:02:23
|
|
|
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 |
|
|
brixxx
Lõuapoolik
liitunud: 04.01.2012
|
19.08.2015 23:58:22
|
|
|
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 |
|
|
|
lisa lemmikuks |
|
|
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.
|