Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 9893D200CD6 for ; Mon, 31 Jul 2017 19:44:08 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 970B7165A65; Mon, 31 Jul 2017 17:44:08 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A37FA165A62 for ; Mon, 31 Jul 2017 19:44:05 +0200 (CEST) Received: (qmail 10800 invoked by uid 500); 31 Jul 2017 17:43:59 -0000 Mailing-List: contact user-help@jmeter.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "JMeter Users List" Delivered-To: mailing list user@jmeter.apache.org Received: (qmail 10784 invoked by uid 99); 31 Jul 2017 17:43:59 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 Jul 2017 17:43:59 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 5E7A71A0710 for ; Mon, 31 Jul 2017 17:43:58 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.501 X-Spam-Level: X-Spam-Status: No, score=-1.501 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-2.8, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id tcnZ_Z8tTTuX for ; Mon, 31 Jul 2017 17:43:43 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 8DCD35F56C for ; Mon, 31 Jul 2017 17:43:42 +0000 (UTC) Received: from pps.filterd (m0098410.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v6VHdb0u046709 for ; Mon, 31 Jul 2017 13:43:41 -0400 Received: from smtp.notes.na.collabserv.com (smtp.notes.na.collabserv.com [192.155.248.67]) by mx0a-001b2d01.pphosted.com with ESMTP id 2c27csnn3n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 31 Jul 2017 13:43:41 -0400 Received: from localhost by smtp.notes.na.collabserv.com with smtp.notes.na.collabserv.com ESMTP for from ; Mon, 31 Jul 2017 17:43:40 -0000 Received: from us1a3-smtp05.a3.dal06.isc4sb.com (10.146.71.159) by smtp.notes.na.collabserv.com (10.106.227.16) with smtp.notes.na.collabserv.com ESMTP; Mon, 31 Jul 2017 17:43:38 -0000 Received: from us1a3-mail108.a3.dal06.isc4sb.com ([10.146.45.126]) by us1a3-smtp05.a3.dal06.isc4sb.com with ESMTP id 2017073117433850-787635 ; Mon, 31 Jul 2017 17:43:38 +0000 In-Reply-To: To: "JMeter Users List" Subject: Re: Using HTTP Request to test POST to upload and store a file From: "Lisa Waugh" Date: Mon, 31 Jul 2017 17:43:31 +0000 References: MIME-Version: 1.0 X-KeepSent: 1B61F0D0:121EEE65-8525816E:00614E7B; type=4; name=$KeepSent X-Mailer: IBM Notes Release 9.0.1FP7 August 18, 2016 X-LLNOutbound: False X-Disclaimed: 7679 X-TNEFEvaluated: 1 Content-Type: multipart/related; boundary="=_related 00615E728525816E_=" x-cbid: 17073117-0327-0000-0000-0000028F0027 X-IBM-SpamModules-Scores: FL=0; FP=0; FZ=0; HX=0; KW=0; PH=0; SC=0.371236; ST=0; TS=0; UL=0; ISC=; MB=0.110978 X-IBM-SpamModules-Versions: BY=3.00007460; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000214; SDB=6.00895618; UDB=6.00447954; IPR=6.00675805; BA=6.00005503; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016467; XFM=3.00000015; UTC=2017-07-31 17:43:40 X-IBM-AV-DETECTION: SAVI=unsuspicious REMOTE=unsuspicious XFE=unused X-IBM-AV-VERSION: SAVI=2017-07-31 10:54:07 - 6.00007109 x-cbparentid: 17073117-0328-0000-0000-000015F12C28 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-07-31_06:,, signatures=0 X-Proofpoint-Spam-Reason: safe archived-at: Mon, 31 Jul 2017 17:44:08 -0000 --=_related 00615E728525816E_= Content-Type: multipart/alternative; boundary="=_alternative 00615E728525816E_=" --=_alternative 00615E728525816E_= Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable I attached the test but it looks like it was stripped out too. Here is=20 the text of the test: false false ecl-stage.mybluemix.net 40000000 40000000 https 4 false saveConfig true true true true true true false false true false false false false true false false true =20 true 0 true true true true continue false 1 1 10 1492612210000 1492612210000 false 41da76f0fc3ec62a6939e634bfb6a342 41da76f0fc3ec62a6939e634bfb6a342 /api/v1/session/startSession POST true false true false false sessionContextId3 $.sessionId successfully generated=20 session Assertion.response=5Fdata false 16 c:\ibm\apache-jmeter-3.1\bin\inputs\IMG=5F1573.JPG mediaFile false ${sessionContextId3} =3D true sessionContextId false arachnid =3D true vocabWord false arachnid =3D true learnerGivenMediaLabels false IMAGE =3D true mediaCategory 80000000 80000000 https /api/v1/profile/addMediaToLearnerCollection POST true false true true false Successfully added media to = learner's collection Assertion.response=5Fdata false 16 c:\ibm\apache-jmeter-3.1\bin\inputs\IMG=5F4536.JPG mediaFile false ${sessionContextId3} =3D true sessionContextId false arachnid =3D true vocabWord false arachnid =3D true learnerGivenMediaLabels false IMAGE =3D true mediaCategory 40000000 40000000 https /api/v1/profile/addMediaToLearnerCollection POST true false true true false Successfully added media to = learner's collection Assertion.response=5Fdata false 16 c:\ibm\apache-jmeter-3.1\bin\inputs\dsc00010.jpg mediaFile false ${sessionContextId3} =3D true sessionContextId false arachnid =3D true vocabWord false arachnid =3D true learnerGivenMediaLabels false IMAGE =3D true mediaCategory 40000000 40000000 https /api/v1/profile/addMediaToLearnerCollection POST true false true true false Successfully added media to = learner's collection Assertion.response=5Fdata false 16 c:\ibm\apache-jmeter-3.1\bin\inputs\IMG=5F1573.JPG mediaFile false ${sessionContextId3} =3D true sessionContextId false arachnid =3D true vocabWord false arachnid =3D true learnerGivenMediaLabels false IMAGE =3D true mediaCategory 80000000 80000000 https /api/v1/profile/addMediaToLearnerCollection POST true false true true false Successfully added media to = learner's collection Assertion.response=5Fdata false 16 https://ecl-stage.mybluemix.net 80 true 0 POST=20 https://ecl-stage.mybluemix.net/api/v1/profile/addMediaToLearnerCollection = HTTP/1.1 Host:: ecl-stage.mybluemix.net Authorization: Basic=20 NDFkYTc2ZjBmYzNlYzYyYTY5MzllNjM0YmZiNmEzNDI6NDFkYTc2ZjBmYzNlYzYyYTY5MzllNjM= 0YmZiNmEzNDI=3D Cache-Control: no-cache Content-Type: multipart/form-data;=20 boundary=3D----WebKitFormBoundaryW9R6VagwvACnorws ------WebKitFormBoundaryW9R6VagwvACnorws Content-Disposition: form-data; name=3D"sessionContextId" ba58cf70-342b-11e7-8eaf-b5f5ce961296 ------WebKitFormBoundaryW9R6VagwvACnorws Content-Disposition: form-data; name=3D"vocabWord" arachnid ------WebKitFormBoundaryW9R6VagwvACnorws Content-Disposition: form-data;=20 name=3D"learnerGivenMediaLabels" arachnid ------WebKitFormBoundaryW9R6VagwvACnorws Content-Disposition: form-data; name=3D"mediaCategory" IMAGE ------WebKitFormBoundaryW9R6VagwvACnorws Content-Disposition: form-data; name=3D"mediaFile";=20 filename=3D"DSC0010.jpg" Content-Type: image/jpeg ------WebKitFormBoundaryW9R6VagwvACnorws-- C:\ibm\apache-jmeter-3.1\bin\inputs\ false false saveConfig true true true true true true true false true true false false false true false false false =20 true 0 true true true true true true 8888 (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff) (?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff)[\?;].*= true 4 false false true true false true true false saveConfig true true true true true true false false true false false false false true false false true =20 true 0 true true true true Thanks, Lisa Lisa Waugh 720-396-0112 Fax: 720-396-0112 Charlotte, NC From: Felix Schumacher To: JMeter Users List Date: 07/31/2017 01:15 PM Subject: Re: Using HTTP Request to test POST to upload and store a=20 file The images didn't make it through the mailing list.=20 Can you post the test? I counted three images in the log, only. Can you=20 add a debit sampler to check that your variables are correctly=20 initialized?=20 Felix Am 31. Juli 2017 18:20:42 MESZ schrieb Lisa Waugh : >Hi Felix, >Here is my HTTP Request: >=20 > >=20 > >=20 >I have the same http request set up to run 4 times. The only thing I'm > >changing is the file name. > >=20 >I can run this same exact request in Postman on the same machine and it > >work consistently so I don't think I have any firewall issues. >=20 >I am running JMeter 3.1 r1770033 and Java=20 >java version "1.8.0" >Java(TM) SE Runtime Environment (build pwa6480sr4fp5-20170421=5F01(SR4 >FP5)) >IBM J9 VM (build 2.8, JRE 1.8.0 Windows 10 amd64-64 Compressed >References=20 >20170419=5F344392 (JIT enabled, AOT enabled) >J9VM - R28=5F20170419=5F1004=5FB344392 >JIT - tr.r14.java=5F20170419=5F344392 >GC - R28=5F20170419=5F1004=5FB344392=5FCMPRSS >J9CL - 20170419=5F344392) >JCL - 20170420=5F01 based on Oracle jdk8u131-b11 >=20 >I enabled debugging and captured the log >2017/07/31 11:32:14 INFO - jmeter.engine.StandardJMeterEngine: Running > >the test!=20 >2017/07/31 11:32:14 INFO - jmeter.samplers.SampleEvent: List of=20 >sample=5Fvariables: []=20 >2017/07/31 11:32:14 INFO - jmeter.gui.util.JMeterMenuBar:=20 >setRunning(true,*local*)=20 >2017/07/31 11:32:14 INFO - jmeter.engine.StandardJMeterEngine: >Starting=20 >ThreadGroup: 1 : Group for Admin=20 >2017/07/31 11:32:14 INFO - jmeter.engine.StandardJMeterEngine: >Starting 1=20 >threads for group Group for Admin.=20 >2017/07/31 11:32:14 INFO - jmeter.engine.StandardJMeterEngine: Thread=20 >will continue on error=20 >2017/07/31 11:32:14 INFO - jmeter.threads.ThreadGroup: Starting thread > >group number 1 threads 1 ramp-up 10 perThread 10000.0 >delayedStart=3Dfalse=20 >2017/07/31 11:32:14 INFO - jmeter.threads.ThreadGroup: Started thread=20 >group number 1=20 >2017/07/31 11:32:14 INFO - jmeter.engine.StandardJMeterEngine: All >thread=20 >groups have been started=20 >2017/07/31 11:32:14 INFO - jmeter.threads.JMeterThread: Thread >started:=20 >Group for Admin 1-1=20 >2017/07/31 11:32:15 INFO - jmeter.services.FileServer: Stored:=20 >c:\ibm\apache-jmeter-3.1\bin\inputs\IMG=5F1573.JPG=20 >2017/07/31 11:32:34 INFO - jmeter.services.FileServer: Stored:=20 >c:\ibm\apache-jmeter-3.1\bin\inputs\IMG=5F4536.JPG=20 >2017/07/31 11:32:44 INFO - jmeter.services.FileServer: Stored:=20 >c:\ibm\apache-jmeter-3.1\bin\inputs\dsc00010.jpg=20 >2017/07/31 11:33:15 INFO - jmeter.threads.JMeterThread: Thread is >done:=20 >Group for Admin 1-1=20 >2017/07/31 11:33:15 INFO - jmeter.threads.JMeterThread: Thread >finished:=20 >Group for Admin 1-1=20 >2017/07/31 11:33:15 INFO - jmeter.engine.StandardJMeterEngine: >Notifying=20 >test listeners of end of test=20 >2017/07/31 11:33:15 INFO - jmeter.gui.util.JMeterMenuBar:=20 >setRunning(false,*local*)=20 >=20 >I'll capture a thread dump and send it later today. >=20 >thanks, >Lisa >=20 >Lisa Waugh >Performance Test Engineer >IBM Watson Education >+1 (720) 396-0112 >+1 (704) 907-7008 m >waugh@us.ibm.com > > >Watson Education=20 >=20 >=20 >=20 >----- Original message ----- >From: Felix Schumacher >To: user@jmeter.apache.org >Cc: >Subject: Re: Using HTTP Request to test POST to upload and store a file >Date: Sat, Jul 29, 2017 5:57 AM >=20 >Am 28.07.2017 um 13:30 schrieb Felix Schumacher: >> >> Am 27. Juli 2017 23:50:20 MESZ schrieb Lisa Waugh : >>> I'm trying to use HTTP Request to upload and store a file via a POST >to >>> a >>> REST api. I can't use HTTP Raw because it is an https request. >>> >>> I can successfully accomplish this with smaller files (<=3D 500 kb). >>> With >>> larger files (>=3D 582 kb) it fails with a 500 Error: Connection >error. >>> I >>> know it is not an issue with my REST api because I can use POSTMAN >and >>> successfully post the same file. >>> >>> I've increased the Connect timeouts and Response timeouts to >80000000 >>> msecs. >>> >>> These are images or audio recordings, not text files. >>> >>> No errors appear in the jmeter logs. >> I think I can confirm this. Is the requests duration longer than=20 >expected? >> >> Could you take a threaddump while the request is waiting? >Strangely enough, I can't reproduce it at home with my linux setup. > >How do you setup the http sampler to send the file? Which version of >JMeter and Java are you using. Is this between different computers, >could there be a firewall that interferes with the requests? > >Can you try to set the logging of JMeter to something more detailed >like >debug? > >Felix >> >> Felix >> >>> Is there a setting controlling the size somewhere I haven't found?=20 >Is >>> there anyway to get this to work successfully? >>> >>> Lisa Waugh >>> 720-396-0112 >>> Fax: 720-396-0112 >>> Charlotte, NC >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org >> For additional commands, e-mail: user-help@jmeter.apache.org >> > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org >For additional commands, e-mail: user-help@jmeter.apache.org >=20 >=20 --=_alternative 00615E728525816E_= Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable I attached the test but it looks like it was stripped out too.  Here is the text of the test:

<?xml version=3D"1.0" encoding= =3D"UTF-8"?>
<= jmeterTestPlan version=3D"1.2" properties=3D"3.1" jmeter=3D"3.1 r1770033">  <hashTree>
    <TestPlan guiclass=3D"= TestPlanGui" testclass=3D"TestPlan" testname=3D"Test Plan" enabled= =3D"true">
 =     <stringProp name=3D"TestPlan.comments"></stringProp>
      <boolProp name=3D&quo= t;TestPlan.functional=5Fmode">false</boolProp>
      <boolProp name=3D&qu= ot;TestPlan.serialize=5Fthreadgroups">false</boolProp>=
      <elementProp name=3D"TestPlan.user=5Fdefined=5Fvariables" elementType=3D"= Arguments" guiclass=3D"ArgumentsPanel" testclass=3D"Arguments" tes= tname=3D"User Defined Variables" enabled=3D"true">
        <collectionProp name=3D"Arguments.arguments"/>
      </elementProp>
      <stringProp name=3D"TestPlan.user=5Fdefine=5Fclasspath"></stringProp>= ;
    </TestPlan&= gt;
    <hashTree= >
      <= ConfigTestElement guiclass=3D"HttpDefaultsGui" testclass=3D"ConfigTestElement&= quot; testname=3D"HTTP Request Defaults" enabled=3D"true">=
        &= lt;elementProp name=3D"HTTPsampler.Arguments" elementType=3D"Arguments" guiclass=3D"HTTPArgumentsPanel" testclass=3D"Arguments" testname=3D"User Defined Variables" enabled=3D"true">= ;
        =   <collectionProp name=3D"Arguments.arguments"/>
        </elementProp>
=         <stringPr= op name=3D"HTTPSampler.domain">ecl-stage.mybluemix.net</string= Prop>
      =   <stringProp name=3D"HTTPSampler.port"></stringProp>
        <stringProp name=3D"HTTPSampler.connect=5Ftimeout">40000000</stringProp= >
      &nbs= p; <stringProp name=3D"HTTPSampler.response=5Ftimeout">40000000</stringPro= p>
      &nb= sp; <stringProp name=3D"HTTPSampler.protocol">https</stringProp><= br>        <strin= gProp name=3D"HTTPSampler.contentEncoding"></stringProp>

        <str= ingProp name=3D"HTTPSampler.path"></stringProp>
        <stringProp name=3D"HTTPSampler.concurrentPool">4</stringProp>
      </ConfigTes= tElement>
    &nb= sp; <hashTree/>
  &= nbsp;   <ResultCollector guiclass=3D"ViewResultsFullVisualizer" testclass=3D"ResultCo= llector" testname=3D"View Results Tree" enabled=3D"true">

        <b= oolProp name=3D"ResultCollector.error=5Flogging">false</boolProp>= ;
        = <objProp>
    =       <name>saveConfig</name>
          <value class=3D"SampleSaveConfiguration">
            <time>true</time>
=             <latency>true</latency>
            <timestamp>true</timestamp>
            <success>true</success>
            <label>true</label>
            <code>true</code>
=             <message>true</message>
            <threadName>true</threadName>
            <dataType>false</dataType>
            <encoding>false</encoding>
            <assertions>true</assertions>
            <subresults>false</subresults>
            <responseData>false</responseData>
            <samplerData>false</samplerData>
            <xml>false</xml>
&= nbsp;           <fieldNames>true</fieldNames>
            <responseHeaders>false</responseHeaders>
            <requestHeaders>false</requestHeaders>
            <responseDataOnError>true</responseDataOnError>
            <saveAssertionResultsFailureMessage>true</saveAssertionResultsFail= ureMessage>

    &= nbsp;       <assertionsResultsToSave>0</assertionsResultsToSave>
=             <bytes>true</bytes>
            <hostname>true</hostname>
            <threadCounts>true</threadCounts>
            <sampleCount>true</sampleCount>
          </value>        </objPro= p>
      &nb= sp; <stringProp name=3D"filename"></stringProp>
      </ResultCollector>      <hashTree/>=
      <Thre= adGroup guiclass=3D"ThreadGroupGui" testclass=3D"ThreadGroup" t= estname=3D"Group for Admin" enabled=3D"true">
        <stringProp name=3D"ThreadGroup.on=5Fsample=5Ferror">continue</stringPr= op>
      &n= bsp; <elementProp name=3D"ThreadGroup.main=5Fcontroller" elementType=3D"LoopCo= ntroller" guiclass=3D"LoopControlPanel" testclass=3D"LoopController&qu= ot; testname=3D"Loop Controller" enabled=3D"true">
          = <boolProp name=3D"LoopController.continue=5Fforever">false</boolProp&= gt;
       = ;   <stringProp name=3D"LoopController.loops">1</stringProp>
<= font size=3D2 face=3D"sans-serif">        </elementP= rop>

      &= nbsp; <stringProp name=3D"ThreadGroup.num=5Fthreads">1</stringProp>=
        <stri= ngProp name=3D"ThreadGroup.ramp=5Ftime">10</stringProp><= br>        <longP= rop name=3D"ThreadGroup.start=5Ftime">1492612210000</longProp&g= t;
       = <longProp name=3D"ThreadGroup.end=5Ftime">1492612210000</longProp>=
        &= lt;boolProp name=3D"ThreadGroup.scheduler">false</boolProp>        <string= Prop name=3D"ThreadGroup.duration"></stringProp>
        <stringProp name=3D"ThreadGroup.delay"></stringProp>

      </ThreadGroup>
      <hashTree= >
      &nbs= p; <AuthManager guiclass=3D"AuthPanel" testclass=3D"AuthManager" testna= me=3D"HTTP Authorization Manager" enabled=3D"true">
          <collect= ionProp name=3D"AuthManager.auth=5Flist">
            <elementProp name=3D"" elementType=3D"Authorization"= >
      &nbs= p;       <stringProp name=3D"Authorization.url"></stringPr= op>
      &n= bsp;       <stringProp name=3D"Authorization.username">41da76f0= fc3ec62a6939e634bfb6a342</stringProp>
              <stringProp name=3D"Authorization.password">41da76f0= fc3ec62a6939e634bfb6a342</stringProp>
              <stringProp name=3D"Authorization.domain"></strin= gProp>
     =         <stringProp name=3D"Authorization.realm"></string= Prop>
      =       </elementProp>
  &n= bsp;       </collectionProp>
        </AuthManager>=
        <hash= Tree/>
     =   <HTTPSamplerProxy guiclass=3D"HttpTestSampleGui" testclass=3D"HTTPSamplerProxy= " testname=3D"Start Session" enabled=3D"true"><= br>          &l= t;elementProp name=3D"HTTPsampler.Arguments" elementType=3D"Arguments" guiclass=3D"HTTPArgumentsPanel" testclass=3D"Arguments" testname=3D"User Defined Variables" enabled=3D"true">= ;
        =     <collectionProp name=3D"Arguments.arguments"/>
          </el= ementProp>

    &n= bsp;     <stringProp name=3D"HTTPSampler.domain"></stringProp>
          <strin= gProp name=3D"HTTPSampler.port"></stringProp>
          <stringP= rop name=3D"HTTPSampler.connect=5Ftimeout"></stringProp>
         = ; <stringProp name=3D"HTTPSampler.response=5Ftimeout"></stringProp>
        &nbs= p; <stringProp name=3D"HTTPSampler.protocol"></stringProp>
          <str= ingProp name=3D"HTTPSampler.contentEncoding"></stringProp>
          = <stringProp name=3D"HTTPSampler.path">/api/v1/session/startSession</str= ingProp>
    &nbs= p;     <stringProp name=3D"HTTPSampler.method">POST</stringProp>
=           <b= oolProp name=3D"HTTPSampler.follow=5Fredirects">true</boolProp><= /font>
        &n= bsp; <boolProp name=3D"HTTPSampler.auto=5Fredirects">false</boolProp>
        &nb= sp; <boolProp name=3D"HTTPSampler.use=5Fkeepalive">true</boolProp>
         = ; <boolProp name=3D"HTTPSampler.DO=5FMULTIPART=5FPOST">false</boolProp&= gt;
       = ;   <boolProp name=3D"HTTPSampler.monitor">false</boolProp>
=           <s= tringProp name=3D"HTTPSampler.embedded=5Furl=5Fre"></stringProp>
        <= ;/HTTPSamplerProxy>
  =       <hashTree>
          <com.atlantbh.jmeter.plugins.= jsonutils.jsonformatter.JSONFormatter guiclass=3D"com.atlantbh.jmeter.plugins.jsonutils.jsonformatter.gui.JS= ONFormatterGui" testclass=3D"com.atlantbh.jmeter.plugins.jsonutils.jsonformatter.JSONF= ormatter" testname=3D"jp@gc - JSON Format Post Processor" enabled=3D"t= rue"/>
    &= nbsp;     <hashTree/>
          <JSONPostProcessor guiclass=3D"JSONPostProcessorGui" testclass=3D"JSONPostProce= ssor" testname=3D"JSON Extractor" enabled=3D"true">=
          &= nbsp; <stringProp name=3D"JSONPostProcessor.referenceNames">sessi= onContextId3</stringProp>
            <stringProp name=3D"JSONPostProcessor.jsonPathExprs">$.sess= ionId</stringProp>
 = ;           <stringProp name=3D"JSONPostProcessor.match=5Fnumbers"><= /stringProp>
    =       </JSONPostProcessor>
          <hashTree/>

         = <ResponseAssertion guiclass=3D"AssertionGui" testclass=3D"ResponseAssertion&quo= t; testname=3D"Response Assertion" enabled=3D"true">
        &nbs= p;   <collectionProp name=3D"Asserion.test=5Fstrings">          &nbs= p;   <stringProp name=3D"687667916">successfully generated session</stringProp>
&nb= sp;           </collectionProp>
 =           <stringProp name=3D"Assertion.test=5Ffield">Assertion.respo= nse=5Fdata</stringProp>
=             <boolProp name=3D"Assertion.assume=5Fsuccess">false</boo= lProp>
     =       <intProp name=3D"Assertion.test=5Ftype">16</intProp><= /font>
        &n= bsp; </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <HT= TPSamplerProxy guiclass=3D"HttpTestSampleGui" testclass=3D"HTTPSamplerProxy= " testname=3D"addMediaToLearnerCollection" enabled=3D"true&quo= t;>
      &n= bsp;   <elementProp name=3D"HTTPsampler.Files" elementType=3D"HTTPFileArgs"= >
      &nbs= p;     <collectionProp name=3D"HTTPFileArgs.files">
              <elementProp name=3D"c:\ibm\apache-jmeter-3.1\bin\inputs\IMG= =5F1573.JPG" elementType=3D"HTTPFileArg">

                <stringProp name=3D"File.path">c:\ibm\apache-= jmeter-3.1\bin\inputs\IMG=5F1573.JPG</stringProp>
                <stringProp name=3D"File.paramname">mediaFile= </stringProp>
  &nb= sp;             <stringProp name=3D"File.mimetype"></strin= gProp>
     =         </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <elementProp name=3D"HTTPsampler.Arguments" elementType=3D"Arguments" guiclass=3D"HTTPArgumentsPanel" testclass=3D"Arguments" testname=3D"User Defined Variables" enabled=3D"true">= ;
        =     <collectionProp name=3D"Arguments.arguments">
              <elementProp name=3D"sessionContextId" elementType=3D&q= uot;HTTPArgument">

&nb= sp;               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">${session= ContextId3}</stringProp>
                <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">sessionCon= textId</stringProp>
&nbs= p;             </elementProp>
&n= bsp;             <elementProp name=3D"vocabWord" elementType=3D"HTT= PArgument">
  &nb= sp;             <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">vocabWord&= lt;/stringProp>
  &nbs= p;           </elementProp>
&n= bsp;             <elementProp name=3D"learnerGivenMediaLabels" elementTy= pe=3D"HTTPArgument">
                <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">learnerGiv= enMediaLabels</stringProp>
              </elementProp>
&n= bsp;             <elementProp name=3D"mediaCategory" elementType=3D"= ;HTTPArgument">
 =               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">IMAGE<= /stringProp>
    =             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">mediaCateg= ory</stringProp>
  =             </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <stringProp name=3D"HTTPSampler.domain"></stringProp>
          <strin= gProp name=3D"HTTPSampler.port"></stringProp>

          <stringP= rop name=3D"HTTPSampler.connect=5Ftimeout">80000000</stringProp= >
      &nbs= p;   <stringProp name=3D"HTTPSampler.response=5Ftimeout">80000000</stringPro= p>
      &nb= sp;   <stringProp name=3D"HTTPSampler.protocol">https</stringProp><= br>          &l= t;stringProp name=3D"HTTPSampler.contentEncoding"></stringProp>
          = <stringProp name=3D"HTTPSampler.path">/api/v1/profile/addMediaToLearnerCol= lection</stringProp>
&nb= sp;         <stringProp name=3D"HTTPSampler.method">POST</stringProp>
=           <b= oolProp name=3D"HTTPSampler.follow=5Fredirects">true</boolProp><= /font>
        &n= bsp; <boolProp name=3D"HTTPSampler.auto=5Fredirects">false</boolProp>
        &nb= sp; <boolProp name=3D"HTTPSampler.use=5Fkeepalive">true</boolProp>
         = ; <boolProp name=3D"HTTPSampler.DO=5FMULTIPART=5FPOST">true</boolProp&g= t;
       =   <boolProp name=3D"HTTPSampler.monitor">false</boolProp>
=           <s= tringProp name=3D"HTTPSampler.embedded=5Furl=5Fre"></stringProp>
        <= ;/HTTPSamplerProxy>
  =       <hashTree>
          <ResponseAssertion guiclass=3D"AssertionGui" testclass=3D"ResponseAssertion&quo= t; testname=3D"Response Assertion" enabled=3D"true">
        &nbs= p;   <collectionProp name=3D"Asserion.test=5Fstrings">          &nbs= p;   <stringProp name=3D"-1094768879">Successfully added media to learner&apos;s collection</stringProp>
            </collectionProp>
 =           <stringProp name=3D"Assertion.test=5Ffield">Assertion.respo= nse=5Fdata</stringProp>
=             <boolProp name=3D"Assertion.assume=5Fsuccess">false</boo= lProp>
     =       <intProp name=3D"Assertion.test=5Ftype">16</intProp><= /font>
        &n= bsp; </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <HT= TPSamplerProxy guiclass=3D"HttpTestSampleGui" testclass=3D"HTTPSamplerProxy= " testname=3D"addMediaToLearnerCollection" enabled=3D"true&quo= t;>
      &n= bsp;   <elementProp name=3D"HTTPsampler.Files" elementType=3D"HTTPFileArgs"= >
      &nbs= p;     <collectionProp name=3D"HTTPFileArgs.files">
              <elementProp name=3D"c:\ibm\apache-jmeter-3.1\bin\inputs\IMG= =5F4536.JPG" elementType=3D"HTTPFileArg">

                <stringProp name=3D"File.path">c:\ibm\apache-= jmeter-3.1\bin\inputs\IMG=5F4536.JPG</stringProp>
                <stringProp name=3D"File.paramname">mediaFile= </stringProp>
  &nb= sp;             <stringProp name=3D"File.mimetype"></strin= gProp>
     =         </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <elementProp name=3D"HTTPsampler.Arguments" elementType=3D"Arguments" guiclass=3D"HTTPArgumentsPanel" testclass=3D"Arguments" testname=3D"User Defined Variables" enabled=3D"true">= ;
        =     <collectionProp name=3D"Arguments.arguments">
              <elementProp name=3D"sessionContextId" elementType=3D&q= uot;HTTPArgument">

&nb= sp;               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">${session= ContextId3}</stringProp>
                <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">sessionCon= textId</stringProp>
&nbs= p;             </elementProp>
&n= bsp;             <elementProp name=3D"vocabWord" elementType=3D"HTT= PArgument">
  &nb= sp;             <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">vocabWord&= lt;/stringProp>
  &nbs= p;           </elementProp>
&n= bsp;             <elementProp name=3D"learnerGivenMediaLabels" elementTy= pe=3D"HTTPArgument">
                <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">learnerGiv= enMediaLabels</stringProp>
              </elementProp>
&n= bsp;             <elementProp name=3D"mediaCategory" elementType=3D"= ;HTTPArgument">
 =               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">IMAGE<= /stringProp>
    =             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">mediaCateg= ory</stringProp>
  =             </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <stringProp name=3D"HTTPSampler.domain"></stringProp>
          <strin= gProp name=3D"HTTPSampler.port"></stringProp>

          <stringP= rop name=3D"HTTPSampler.connect=5Ftimeout">40000000</stringProp= >
      &nbs= p;   <stringProp name=3D"HTTPSampler.response=5Ftimeout">40000000</stringPro= p>
      &nb= sp;   <stringProp name=3D"HTTPSampler.protocol">https</stringProp><= br>          &l= t;stringProp name=3D"HTTPSampler.contentEncoding"></stringProp>
          = <stringProp name=3D"HTTPSampler.path">/api/v1/profile/addMediaToLearnerCol= lection</stringProp>
&nb= sp;         <stringProp name=3D"HTTPSampler.method">POST</stringProp>
=           <b= oolProp name=3D"HTTPSampler.follow=5Fredirects">true</boolProp><= /font>
        &n= bsp; <boolProp name=3D"HTTPSampler.auto=5Fredirects">false</boolProp>
        &nb= sp; <boolProp name=3D"HTTPSampler.use=5Fkeepalive">true</boolProp>
         = ; <boolProp name=3D"HTTPSampler.DO=5FMULTIPART=5FPOST">true</boolProp&g= t;
       =   <boolProp name=3D"HTTPSampler.monitor">false</boolProp>
=           <s= tringProp name=3D"HTTPSampler.embedded=5Furl=5Fre"></stringProp>
        <= ;/HTTPSamplerProxy>
  =       <hashTree>
          <ResponseAssertion guiclass=3D"AssertionGui" testclass=3D"ResponseAssertion&quo= t; testname=3D"Response Assertion" enabled=3D"true">
        &nbs= p;   <collectionProp name=3D"Asserion.test=5Fstrings">          &nbs= p;   <stringProp name=3D"-1094768879">Successfully added media to learner&apos;s collection</stringProp>
            </collectionProp>
 =           <stringProp name=3D"Assertion.test=5Ffield">Assertion.respo= nse=5Fdata</stringProp>
=             <boolProp name=3D"Assertion.assume=5Fsuccess">false</boo= lProp>
     =       <intProp name=3D"Assertion.test=5Ftype">16</intProp><= /font>
        &n= bsp; </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <HT= TPSamplerProxy guiclass=3D"HttpTestSampleGui" testclass=3D"HTTPSamplerProxy= " testname=3D"addMediaToLearnerCollection" enabled=3D"true&quo= t;>
      &n= bsp;   <elementProp name=3D"HTTPsampler.Files" elementType=3D"HTTPFileArgs"= >
      &nbs= p;     <collectionProp name=3D"HTTPFileArgs.files">
              <elementProp name=3D"c:\ibm\apache-jmeter-3.1\bin\inputs\dsc= 00010.jpg" elementType=3D"HTTPFileArg">

                <stringProp name=3D"File.path">c:\ibm\apache-= jmeter-3.1\bin\inputs\dsc00010.jpg</stringProp>
                <stringProp name=3D"File.paramname">mediaFile= </stringProp>
  &nb= sp;             <stringProp name=3D"File.mimetype"></strin= gProp>
     =         </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <elementProp name=3D"HTTPsampler.Arguments" elementType=3D"Arguments" guiclass=3D"HTTPArgumentsPanel" testclass=3D"Arguments" testname=3D"User Defined Variables" enabled=3D"true">= ;
        =     <collectionProp name=3D"Arguments.arguments">
              <elementProp name=3D"sessionContextId" elementType=3D&q= uot;HTTPArgument">

&nb= sp;               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">${session= ContextId3}</stringProp>
                <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">sessionCon= textId</stringProp>
&nbs= p;             </elementProp>
&n= bsp;             <elementProp name=3D"vocabWord" elementType=3D"HTT= PArgument">
  &nb= sp;             <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">vocabWord&= lt;/stringProp>
  &nbs= p;           </elementProp>
&n= bsp;             <elementProp name=3D"learnerGivenMediaLabels" elementTy= pe=3D"HTTPArgument">
                <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">learnerGiv= enMediaLabels</stringProp>
              </elementProp>
&n= bsp;             <elementProp name=3D"mediaCategory" elementType=3D"= ;HTTPArgument">
 =               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">IMAGE<= /stringProp>
    =             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">mediaCateg= ory</stringProp>
  =             </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <stringProp name=3D"HTTPSampler.domain"></stringProp>
          <strin= gProp name=3D"HTTPSampler.port"></stringProp>

          <stringP= rop name=3D"HTTPSampler.connect=5Ftimeout">40000000</stringProp= >
      &nbs= p;   <stringProp name=3D"HTTPSampler.response=5Ftimeout">40000000</stringPro= p>
      &nb= sp;   <stringProp name=3D"HTTPSampler.protocol">https</stringProp><= br>          &l= t;stringProp name=3D"HTTPSampler.contentEncoding"></stringProp>
          = <stringProp name=3D"HTTPSampler.path">/api/v1/profile/addMediaToLearnerCol= lection</stringProp>
&nb= sp;         <stringProp name=3D"HTTPSampler.method">POST</stringProp>
=           <b= oolProp name=3D"HTTPSampler.follow=5Fredirects">true</boolProp><= /font>
        &n= bsp; <boolProp name=3D"HTTPSampler.auto=5Fredirects">false</boolProp>
        &nb= sp; <boolProp name=3D"HTTPSampler.use=5Fkeepalive">true</boolProp>
         = ; <boolProp name=3D"HTTPSampler.DO=5FMULTIPART=5FPOST">true</boolProp&g= t;
       =   <boolProp name=3D"HTTPSampler.monitor">false</boolProp>
=           <s= tringProp name=3D"HTTPSampler.embedded=5Furl=5Fre"></stringProp>
        <= ;/HTTPSamplerProxy>
  =       <hashTree>
          <ResponseAssertion guiclass=3D"AssertionGui" testclass=3D"ResponseAssertion&quo= t; testname=3D"Response Assertion" enabled=3D"true">
        &nbs= p;   <collectionProp name=3D"Asserion.test=5Fstrings">          &nbs= p;   <stringProp name=3D"-1094768879">Successfully added media to learner&apos;s collection</stringProp>
            </collectionProp>
 =           <stringProp name=3D"Assertion.test=5Ffield">Assertion.respo= nse=5Fdata</stringProp>
=             <boolProp name=3D"Assertion.assume=5Fsuccess">false</boo= lProp>
     =       <intProp name=3D"Assertion.test=5Ftype">16</intProp><= /font>
        &n= bsp; </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <HT= TPSamplerProxy guiclass=3D"HttpTestSampleGui" testclass=3D"HTTPSamplerProxy= " testname=3D"addMediaToLearnerCollection" enabled=3D"true&quo= t;>
      &n= bsp;   <elementProp name=3D"HTTPsampler.Files" elementType=3D"HTTPFileArgs"= >
      &nbs= p;     <collectionProp name=3D"HTTPFileArgs.files">
              <elementProp name=3D"c:\ibm\apache-jmeter-3.1\bin\inputs\IMG= =5F1573.JPG" elementType=3D"HTTPFileArg">

                <stringProp name=3D"File.path">c:\ibm\apache-= jmeter-3.1\bin\inputs\IMG=5F1573.JPG</stringProp>
                <stringProp name=3D"File.paramname">mediaFile= </stringProp>
  &nb= sp;             <stringProp name=3D"File.mimetype"></strin= gProp>
     =         </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <elementProp name=3D"HTTPsampler.Arguments" elementType=3D"Arguments" guiclass=3D"HTTPArgumentsPanel" testclass=3D"Arguments" testname=3D"User Defined Variables" enabled=3D"true">= ;
        =     <collectionProp name=3D"Arguments.arguments">
              <elementProp name=3D"sessionContextId" elementType=3D&q= uot;HTTPArgument">

&nb= sp;               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">${session= ContextId3}</stringProp>
                <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">sessionCon= textId</stringProp>
&nbs= p;             </elementProp>
&n= bsp;             <elementProp name=3D"vocabWord" elementType=3D"HTT= PArgument">
  &nb= sp;             <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">vocabWord&= lt;/stringProp>
  &nbs= p;           </elementProp>
&n= bsp;             <elementProp name=3D"learnerGivenMediaLabels" elementTy= pe=3D"HTTPArgument">
                <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">arachnid&= lt;/stringProp>
  &nbs= p;             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">learnerGiv= enMediaLabels</stringProp>
              </elementProp>
&n= bsp;             <elementProp name=3D"mediaCategory" elementType=3D"= ;HTTPArgument">
 =               <boolProp name=3D"HTTPArgument.always=5Fencode"&= gt;false</boolProp>
&nbs= p;               <stringProp name=3D"Argument.value">IMAGE<= /stringProp>
    =             <stringProp name=3D"Argument.metadata">=3D<= ;/stringProp>
   =             <boolProp name=3D"HTTPArgument.use=5Fequals">= true</boolProp>
  &= nbsp;             <stringProp name=3D"Argument.name">mediaCateg= ory</stringProp>
  =             </elementProp>
&n= bsp;           </collectionProp>
 =         </elementProp>
          <stringProp name=3D"HTTPSampler.domain"></stringProp>
          <strin= gProp name=3D"HTTPSampler.port"></stringProp>

          <stringP= rop name=3D"HTTPSampler.connect=5Ftimeout">80000000</stringProp= >
      &nbs= p;   <stringProp name=3D"HTTPSampler.response=5Ftimeout">80000000</stringPro= p>
      &nb= sp;   <stringProp name=3D"HTTPSampler.protocol">https</stringProp><= br>          &l= t;stringProp name=3D"HTTPSampler.contentEncoding"></stringProp>
          = <stringProp name=3D"HTTPSampler.path">/api/v1/profile/addMediaToLearnerCol= lection</stringProp>
&nb= sp;         <stringProp name=3D"HTTPSampler.method">POST</stringProp>
=           <b= oolProp name=3D"HTTPSampler.follow=5Fredirects">true</boolProp><= /font>
        &n= bsp; <boolProp name=3D"HTTPSampler.auto=5Fredirects">false</boolProp>
        &nb= sp; <boolProp name=3D"HTTPSampler.use=5Fkeepalive">true</boolProp>
         = ; <boolProp name=3D"HTTPSampler.DO=5FMULTIPART=5FPOST">true</boolProp&g= t;
       =   <boolProp name=3D"HTTPSampler.monitor">false</boolProp>
=           <s= tringProp name=3D"HTTPSampler.embedded=5Furl=5Fre"></stringProp>
        <= ;/HTTPSamplerProxy>
  =       <hashTree>
          <ResponseAssertion guiclass=3D"AssertionGui" testclass=3D"ResponseAssertion&quo= t; testname=3D"Response Assertion" enabled=3D"true">
        &nbs= p;   <collectionProp name=3D"Asserion.test=5Fstrings">          &nbs= p;   <stringProp name=3D"-1094768879">Successfully added media to learner&apos;s collection</stringProp>
            </collectionProp>
 =           <stringProp name=3D"Assertion.test=5Ffield">Assertion.respo= nse=5Fdata</stringProp>
=             <boolProp name=3D"Assertion.assume=5Fsuccess">false</boo= lProp>
     =       <intProp name=3D"Assertion.test=5Ftype">16</intProp><= /font>
        &n= bsp; </ResponseAssertion>
          <hashTree/>
        </hashTree>
        <kg= .apc.jmeter.samplers.HTTPRawSampler guiclass=3D"kg.apc.jmeter.samplers.HTTPRawSamplerGui" testclass= =3D"kg.apc.jmeter.samplers.HTTPRawSampler" testname=3D"jp@gc - HTTP Raw Request" enabled=3D"false"= >
      &nbs= p;   <stringProp name=3D"hostname">https://ecl-stage.m= ybluemix.net</stringProp&g= t;
       =   <stringProp name=3D"port">80</stringProp>
          <boolProp name=3D"keepalive">true</boolProp>
          <stringProp name=3D"timeout">0</stringProp>
          <stringProp name=3D"data">POST https://ecl-stage.mybluemix.net/api/v1/profile/addM= ediaToLearnerCollectionHTTP/1= .1&#xd;
Host:: ecl-stage.m= ybluemix.net&#xd;
Authoriz= ation: Basic NDFkYTc2ZjBmYzNlYzYyYTY5MzllNjM0YmZiNmEzNDI6NDFkYTc2ZjBmYzNlYz= YyYTY5MzllNjM0YmZiNmEzNDI=3D&#xd;
Cache-Control: no-cache&#xd;
Content-Type: multipart/form-data; boundary=3D----WebKitFormBoun= daryW9R6VagwvACnorws&#xd;
= &#xd;
&#xd;
= ------WebKitFormBoundaryW9R6VagwvACnorws= &#xd;
Content-Disposition:= form-data; name=3D&quot;sessionContextId&quot;&#xd;
= &#xd;
ba58cf70-342b-11e7-8eaf-b5f5ce961296&#xd;
------WebKitFormBoundaryW9R6VagwvACnorws&am= p;#xd;

Content-Disposition: fo= rm-data; name=3D&quot;vocabWord&quot;&#xd;
&#xd;
arachnid&#xd;
------W= ebKitFormBoundaryW9R6VagwvACnorws&#xd;
Content-Disposition: form-data; name=3D&quot;learnerGivenM= ediaLabels&quot;&#xd;
= &#xd;
arachnid&#xd;
------WebKitFormBoundaryW9R6Vagw= vACnorws&#xd;
Content-Disp= osition: form-data; name=3D&quot;mediaCategory&quot;&#xd;
&#xd;
IMAGE&#xd;
------WebKitFormBoundaryW9R6VagwvACnorws&#xd;
Content-Disposition: form-data; name=3D&quot;m= ediaFile&quot;; filename=3D&quot;DSC0010.jpg&quot;&#xd;
Content-Type: image/jpeg&#xd;
&#xd;
&#xd;
------WebKitFo= rmBoundaryW9R6VagwvACnorws--</stringProp>
          <stringProp name=3D"fileName">C:\ibm\apache-jmeter-3.1\bin\inputs\</str= ingProp>
    &nbs= p;     <boolProp name=3D"parse">false</boolProp>
        </kg.apc.jmeter.sampler= s.HTTPRawSampler>
  &n= bsp;     <hashTree/>
        <ResultCollector guiclass=3D"SummaryReport" testclass=3D"ResultCollector" testname=3D"Summary Report" enabled=3D"true">=
          &= lt;boolProp name=3D"ResultCollector.error=5Flogging">false</boolProp>= ;
        =   <objProp>
  =           <name>saveConfig</name>
            <value class=3D"SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>

              <responseDataOnError>false</responseDataOnError><= br>          &n= bsp;   <saveAssertionResultsFailureMessage>true</saveAssertionResu= ltsFailureMessage>
  &= nbsp;           <assertionsResultsToSave>0</assertionsResultsToSave>
         = ;     <bytes>true</bytes>
              <sentBytes>true</sentBytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
              <connectTime>true</connectTime>
            </value>
    &= nbsp;     </objProp>
          <stringProp name=3D"filename"></stringProp>
        </ResultCollector>
        <= ;hashTree/>
    &= nbsp; </hashTree>
 =   </hashTree>
&nbs= p;   <WorkBench guiclass=3D"WorkBenchGui" testclass=3D"WorkBench" testname=3D"WorkBench" enabled= =3D"true">
 =     <boolProp name=3D"WorkBench.save">true</b= oolProp>
    <= /WorkBench>
    &= lt;hashTree>
    =   <ProxyControl guiclass=3D"ProxyControlGui" testclass=3D"ProxyControl" testname=3D"HTTP(S) Test Script Recorder" enabled=3D"true&qu= ot;>
      &= nbsp; <stringProp name=3D"ProxyControlGui.port">8888</stringProp>        <collec= tionProp name=3D"ProxyControlGui.exclude=5Flist">
          <stringProp name=3D"1409425616">(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|= woff)</stringProp>
 = ;         <stringProp name=3D"-2135475220">(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf= |woff)[\?;].*</stringProp>
        </collectionProp>
        <collectionProp name=3D"ProxyControlGui.include=5Flist"/>
        <boolProp name=3D"ProxyControlGui.capture=5Fhttp=5Fheaders">true</boo= lProp>
     =   <intProp name=3D"ProxyControlGui.grouping=5Fmode">4</intProp>
        <b= oolProp name=3D"ProxyControlGui.add=5Fassertion">false</boolProp>= ;
        = <stringProp name=3D"ProxyControlGui.sampler=5Ftype=5Fname"></stringProp= >
      &nbs= p; <boolProp name=3D"ProxyControlGui.sampler=5Fredirect=5Fautomatically">fa= lse</boolProp>
  &n= bsp;     <boolProp name=3D"ProxyControlGui.sampler=5Ffollow=5Fredirects">true<= /boolProp>
    &n= bsp;   <boolProp name=3D"ProxyControlGui.use=5Fkeepalive">true</boolProp>=
        &= lt;boolProp name=3D"ProxyControlGui.sampler=5Fdownload=5Fimages">false<= /boolProp>
    &n= bsp;   <boolProp name=3D"ProxyControlGui.regex=5Fmatch">true</boolProp>
        <= ;stringProp name=3D"ProxyControlGui.content=5Ftype=5Finclude"></stringP= rop>
      &= nbsp; <stringProp name=3D"ProxyControlGui.content=5Ftype=5Fexclude"></stringP= rop>
      &= nbsp; <boolProp name=3D"ProxyControlGui.notify=5Fchild=5Fsl=5Ffiltered">true&l= t;/boolProp>
    =     <stringProp name=3D"ProxyControlGui.proxy=5Fprefix=5Fhttp=5Fsampler=5Fname"&g= t;</stringProp>
  &= nbsp;   </ProxyControl>
      <hashTree>
        <ResultCollector guiclass=3D"ViewResultsFullVisualizer" testclass=3D"ResultCo= llector" testname=3D"View Results Tree" enabled=3D"true">
         = ; <boolProp name=3D"ResultCollector.error=5Flogging">false</boolProp>= ;
        =   <objProp>
  =           <name>saveConfig</name>
            <value class=3D"SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>

              <responseDataOnError>true</responseDataOnError>          &nb= sp;   <saveAssertionResultsFailureMessage>true</saveAssertionResu= ltsFailureMessage>
  &= nbsp;           <assertionsResultsToSave>0</assertionsResultsToSave>
         = ;     <bytes>true</bytes>
              <hostname>true</hostname>
              <threadCounts>true</threadCounts>
              <sampleCount>true</sampleCount>
            </value>
    &= nbsp;     </objProp>
          <stringProp name=3D"filename"></stringProp>
        </ResultCollector>
        <= ;hashTree/>
    &= nbsp; </hashTree>
 =   </hashTree>
&nbs= p; </hashTree>
</jmet= erTestPlan>

Thanks,
Lisa

Lisa Waugh
720-396-0112
Fax:  720-396-0112<= br>Charlotte, NC








From:        
Felix Schumacher <felix.= schumacher@internetallee.de>
To:        JMeter Users List <user@= jmeter.apache.org>
Date:        07/31/2017 01:15 PM<= br>Subject:        Re: Using HTTP Request to test POST to upload and store a file


<= br>
The images didn't make it through the mailing lis= t.

Can you post the test? I counted three images in the log, only. Can= you add a debit sampler to check that your variables are correctly initialized?

Felix




Am 31. Juli 2017 18:20:42 MESZ schrieb Lis= a Waugh <waugh@us.ibm.com>:
>Hi Felix,
>Here is my HTTP R= equest:
>
>
>
>
>
>I have the same h= ttp request set up to run 4 times.  The only thing I'm
>
>changing is the file name.
>
>
>= ;I can run this same exact request in Postman on the same machine and it
>
>work consistently so I don't think I have any firewall is= sues.
>
>I am running JMeter 3.1 r1770033 and Java
>jav= a version "1.8.0"
>Java(TM) SE Runtime Environment (build p= wa6480sr4fp5-20170421=5F01(SR4
>FP5))
>IBM J9 VM (build 2.8, JR= E 1.8.0 Windows 10 amd64-64 Compressed
>References
>20170419= =5F344392 (JIT enabled, AOT enabled)
>J9VM - R28=5F20170419=5F1004=5F= B344392
>JIT  - tr.r14.java=5F20170419=5F344392
>GC  = - R28=5F20170419=5F1004=5FB344392=5FCMPRSS
>J9CL - 20170419=5F344392= )
>JCL - 20170420=5F01 based on Oracle jdk8u131-b11
>
>I= enabled debugging and captured the log
>2017/07/31 11:32:14 INFO &nb= sp;- jmeter.engine.StandardJMeterEngine: Running
>
>the test!
>2017/07/31 11:32:14 INFO  - j= meter.samplers.SampleEvent: List of
>sample=5Fvariables: []
>2017/07/31 11:32:14 INFO  - = jmeter.gui.util.JMeterMenuBar:
>setRunning(true,*local*)
>201= 7/07/31 11:32:14 INFO  - jmeter.engine.StandardJMeterEngine:
>St= arting
>ThreadGroup: 1 : Group for Admin
>2017/07/31 11:32:14= INFO  - jmeter.engine.StandardJMeterEngine:
>Starting 1
>= ;threads for group Group for Admin.
>2017/07/31 11:32:14 INFO  = - jmeter.engine.StandardJMeterEngine: Thread
>will continue on error
>2017/07/31 11:32:14 INFO &nbs= p;- jmeter.threads.ThreadGroup: Starting thread
>
>group number 1 threads 1 ramp-up 10 perThread 10000.0=
>delayedStart=3Dfalse
>2017/07/31 11:32:14 INFO  - jmete= r.threads.ThreadGroup: Started thread
>group number 1
>2017/07/31 11:32:14 INFO  - jmet= er.engine.StandardJMeterEngine: All
>thread
>groups have been started
>2017/07/31 11:32= :14 INFO  - jmeter.threads.JMeterThread: Thread
>started:
&g= t;Group for Admin 1-1
>2017/07/31 11:32:15 INFO  - jmeter.servi= ces.FileServer: Stored:
>c:\ibm\apache-jmeter-3.1\bin\inputs\IMG=5F1573.JPG
>2017/07/= 31 11:32:34 INFO  - jmeter.services.FileServer: Stored:
>c:\ibm\apache-jmeter-3.1\bin\inputs\IMG=5F4536.JPG
>2017/07/= 31 11:32:44 INFO  - jmeter.services.FileServer: Stored:
>c:\ibm\apache-jmeter-3.1\bin\inputs\dsc00010.jpg
>2017/07/31= 11:33:15 INFO  - jmeter.threads.JMeterThread: Thread is
>done:
>Group for Admin 1-1
>2017/07/31 11:33:15 INF= O  - jmeter.threads.JMeterThread: Thread
>finished:
>Grou= p for Admin 1-1
>2017/07/31 11:33:15 INFO  - jmeter.engine.Stan= dardJMeterEngine:
>Notifying
>test listeners of end of test >2017/07/31 11:33:15 INFO  - jmeter.gui.util.JMeterMenuBar:
&= gt;setRunning(false,*local*)
>
>I'll capture a thread dump an= d send it later today.
>
>thanks,
>Lisa
>
>= Lisa Waugh
>Performance Test Engineer
>IBM Watson Education
= >+1 (720) 396-0112
>+1 (704) 907-7008 m
>waugh@us.ibm.com>
>
>Watson Education
>
>
>
>--= --- Original message -----
>From: Felix Schumacher <felix.schumach= er@internetallee.de>
>To: user@jmeter.apache.org
>Cc:
>= ;Subject: Re: Using HTTP Request to test POST to upload and store a file
>Date: Sat, Jul 29, 2017 5:57 AM
>
>Am 28.07.2017 u= m 13:30 schrieb Felix Schumacher:
>>
>> Am 27. Juli 2017 = 23:50:20 MESZ schrieb Lisa Waugh <waugh@us.ibm.com>:
>>> = I'm trying to use HTTP Request to upload and store a file via a POST
>to
>>> a
>>> REST api.  I ca= n't use HTTP Raw because it is an https request.
>>>
>>> I can successfully accomplish this= with smaller files (<=3D 500 kb).
>>> With
>>> larger files (>=3D 582 kb)= it fails with a 500 Error: Connection
>error.
>>> I
&= gt;>> know it is not an issue with my REST api because I can use POSTMAN
>and
>>> successfully post the same file.
>= >>
>>> I've increased the Connect timeouts and Response t= imeouts to
>80000000
>>> msecs.
>>>
>>> T= hese are images or audio recordings, not text files.
>>>
>= ;>> No errors appear in the jmeter logs.
>> I think I can co= nfirm this. Is the requests duration longer than
>expected?
>>
>> Could you take a threaddump while= the request is waiting?
>Strangely enough, I can't reproduce it at h= ome with my linux setup.
>
>How do you setup the http sampler t= o send the file? Which version of
>JMeter and Java are you using. Is = this between different computers,
>could there be a firewall that int= erferes with the requests?
>
>Can you try to set the logging of= JMeter to something more detailed
>like
>debug?
>
>= ;Felix
>>
>> Felix
>>
>>> Is there a= setting controlling the size somewhere I haven't found?
>Is
>>> there anyway to get this to work successf= ully?
>>>
>>> Lisa Waugh
>>> 720-396-01= 12
>>> Fax:  720-396-0112
>>> Charlotte, NC>> -----------------------------------------------------------------= ----
>> To unsubscribe, e-mail: user-unsubscribe@jmeter.apache.org=
>> For additional commands, e-mail: user-help@jmeter.apache.org>>
>
>
>-----------------------------------------= ----------------------------
>To unsubscribe, e-mail: user-unsubscrib= e@jmeter.apache.org
>For additional commands, e-mail: user-help@jmete= r.apache.org
>
>



--=_alternative 00615E728525816E_=-- --=_related 00615E728525816E_=--