[prev in list] [next in list] [prev in thread] [next in thread] 

List:       grinder-development
Subject:    Re: [Grinder-development] [Grinder-use] grinder support for file
From:       James Liang <jliang () andera ! com>
Date:       2011-12-03 0:26:17
Message-ID: 66360B3D135282408759C4D50104FB326B0C0DA5D2 () mercury ! utopiasystems ! net
[Download RAW message or body]

I take back what I said about upload being broken.  After doing stuff the hard way \
and spent quite a bit of time at it, I've figure it out.  Maybe this stuff is in the \
reference doc but I didn't see it.

The proxy support for file upload does work.  I am writing this here so that the next \
guy who search for this issue will find it.

For file upload, the grinder proxy writes the uploaded data into a local file.  Look \
for setDataFromFile() in the generated script.  The data is not inline into the py \
script which makes a lot of sense.

request501 = HTTPRequest(url=url0, headers=headers17)
request501.setDataFromFile('http-data-0.dat')
request501 = Test(501, 'POST docupload.seam').wrap(request501)

Also becareful with non standard file upload widgets like Flash (ugh).  The grinder \
proxy doesn't seem to support these.

Thanks,
James Liang

From: James Liang
Sent: Wednesday, November 30, 2011 12:47 PM
To: 'grinder-use'; 'grinder-development@lists.sourceforge.net'
Subject: RE: [Grinder-use] grinder support for file upload

Grinder proxy support for file upload appears broken in grinder-3.6.

Using wireshark, I verified the test server I am uploading a file (contains a bunch \
of 'A') is following rfc 1867 http file upload spec.

However, the generated the proxy generated py script did not contain any of the file \
data.  I was expecting the multipart submit to be part of the generated script.

  def page1(self):
    """POST appfile.seam (request 101)."""
    result = request101.POST('/oflows/oconsole/appfile.seam',
      'AJAXREQUEST=_viewRoot&docupload=docupload&docupload%3Aupload%3Afile=test.jpg&do \
cupload%3Aupload%3Afile=&javax.faces.ViewState=j_id4&docupload%3Aupload=docupload%3Aup \
load&ajaxSingle=docupload%3Aupload&_richfaces_upload_uid=0.7842636289930416&_richfaces_file_upload_action=progress&AJAX%3AEVENTS_COUNT=1&',
                
      ( NVPair('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'), \
))  self.token_javaxfacesViewState = \
      httpUtilities.valueFromHiddenInput('javax.faces.ViewState') # 'j_id4'

    return result


Wireshark shows the http traffic (formating slightly off) is this:

POST /oflows/oconsole/appfile.seam?_richfaces_upload_uid=0.915415757787077&docupload:u \
pload=docupload:upload&_richfaces_upload_file_indicator=true&AJAXREQUEST=_viewRoot \
                HTTP/1.1
Host: provident.console.oflows.us
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 \
                Firefox/8.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Referer: http://provident.console.oflows.us/oflows/oconsole/appfile.seam?appId=3&cid=256&conversationPropagation=join
                
Cookie: JSESSIONID=62F66A70B99AA9F611807904B20049E6
Content-Type: multipart/form-data; boundary=---------------------------491299511942

Content-Length: 19393

-----------------------------491299511942

Content-Disposition: form-data; name="docupload"



docupload

-----------------------------491299511942

Content-Disposition: form-data; name="docupload:upload:file"; filename="test.jpg"


Content-Type: image/jpeg


AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                
....
[more stuff]



Thanks,
James Liang

From: Carlos E. Torchia [mailto:ctorchia@uvic.ca]
Sent: Tuesday, November 29, 2011 9:28 PM
To: grinder-use
Subject: Re: [Grinder-use] grinder support for file upload

I am on Grinder 3.5.  Have you tried recording an upload of a file to a different \
site? Is it possible your web app is doing fancy stuff with JavaScript and not really \
sending the file as form data, but encoding and sending it in separate requests? On \
Tue, Nov 29, 2011 at 11:57 PM, James Liang \
<jliang@andera.com<mailto:jliang@andera.com>> wrote: Thanks Carlos.

I am surprise this worked for you.  I've did a capture and I can see the POST request \
in the generated script.  However, the data from file is not there.  There is no \
multi part form data in the generated py script.

What version of Grinder are you using?  I am on grinder-3.6.

Thanks,
James Liang

From: Carlos E. Torchia [mailto:ctorchia@uvic.ca<mailto:ctorchia@uvic.ca>]
Sent: Tuesday, November 29, 2011 8:24 PM
To: grinder-use
Subject: Re: [Grinder-use] grinder support for file upload

I recorded a test that involves a file upload. It's just multi-part form data, with \
the data of the file and the entire POST request represented as a string in the \
Jython code.

E.g. suppose you have a file with HELLO_WORLD in it. Then the proxy server would \
record something like:

request1234.POST('/hello-world', '<bunchastuff>HELLO_WORLD<bunchastuff>')

hope this helps
On Tue, Nov 29, 2011 at 6:32 PM, James Liang \
<jliang@andera.com<mailto:jliang@andera.com>> wrote: Hi all,

Does the grinder proxy tool support the capturing of file uploads?   I need to load \
test a file upload function of the system.  Any advice on using grinder for this \
purpose?

Thanks,
James Liang


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
grinder-use mailing list
grinder-use@lists.sourceforge.net<mailto:grinder-use@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/grinder-use


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
grinder-use mailing list
grinder-use@lists.sourceforge.net<mailto:grinder-use@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/grinder-use


[Attachment #3 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type \
content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 \
(filtered medium)"><style><!-- /* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div \
class=WordSection1><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I take back \
what I said about upload being broken.&nbsp; After doing stuff the hard way and spent \
quite a bit of time at it, I've figure it out.&nbsp; Maybe this stuff is in the \
reference doc but I didn't see it.<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The proxy \
support for file upload does work.&nbsp; I am writing this here so that the next guy \
who search for this issue will find it.<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>For file \
upload, the grinder proxy writes the uploaded data into a local file.&nbsp; Look for \
setDataFromFile() in the generated script.&nbsp; The data is not inline into the py \
script which makes a lot of sense.&nbsp; <o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>request501 \
= HTTPRequest(url=url0, headers=headers17)<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>request501.setDataFromFile('http-data-0.dat')<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>request501 \
= Test(501, 'POST docupload.seam').wrap(request501)<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Also \
becareful with non standard file upload widgets like Flash (ugh).&nbsp; The grinder \
proxy doesn't seem to support these.<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks,<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>James \
Liang<o:p></o:p></span></p></div><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div \
style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p \
class=MsoNormal><b><span \
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span \
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> James Liang \
<br><b>Sent:</b> Wednesday, November 30, 2011 12:47 PM<br><b>To:</b> 'grinder-use'; \
'grinder-development@lists.sourceforge.net'<br><b>Subject:</b> RE: [Grinder-use] \
grinder support for file upload<o:p></o:p></span></p></div></div><p \
class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Grinder \
proxy support for file upload appears broken in grinder-3.6.<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Using \
wireshark, I verified the test server I am uploading a file (contains a bunch of 'A') \
is following rfc 1867 http file upload spec.<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>However, \
the generated the proxy generated py script did not contain any of the file \
data.&nbsp; I was expecting the multipart submit to be part of the generated \
script.<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp; def \
page1(self):<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp; \
&quot;&quot;&quot;POST appfile.seam (request \
101).&quot;&quot;&quot;<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp; \
result = request101.POST('/oflows/oconsole/appfile.seam',<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
'AJAXREQUEST=_viewRoot&amp;docupload=docupload&amp;docupload%3Aupload%3Afile=test.jpg& \
amp;docupload%3Aupload%3Afile=&amp;javax.faces.ViewState=j_id4&amp;docupload%3Aupload= \
docupload%3Aupload&amp;ajaxSingle=docupload%3Aupload&amp;_richfaces_upload_uid=0.78426 \
36289930416&amp;_richfaces_file_upload_action=progress&amp;AJAX%3AEVENTS_COUNT=1&amp;',<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
( NVPair('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'), \
))<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp; \
self.token_javaxfacesViewState = \<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
httpUtilities.valueFromHiddenInput('javax.faces.ViewState') # \
'j_id4'<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&nbsp;&nbsp;&nbsp; \
return result<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Wireshark \
shows the http traffic (formating slightly off) is this:<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>POST \
/oflows/oconsole/appfile.seam?_richfaces_upload_uid=0.915415757787077&amp;docupload:up \
load=docupload:upload&amp;_richfaces_upload_file_indicator=true&amp;AJAXREQUEST=_viewRoot \
HTTP/1.1<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Host: \
provident.console.oflows.us<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>User-Agent: \
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 \
Firefox/8.0.1<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Accept: \
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Accept-Language: \
en-us,en;q=0.5<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Accept-Encoding: \
gzip, deflate<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Accept-Charset: \
ISO-8859-1,utf-8;q=0.7,*;q=0.7<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Connection: \
keep-alive<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Referer: \
http://provident.console.oflows.us/oflows/oconsole/appfile.seam?appId=3&amp;cid=256&amp;conversationPropagation=join<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Cookie: \
JSESSIONID=62F66A70B99AA9F611807904B20049E6<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Content-Type: \
multipart/form-data; \
boundary=---------------------------491299511942<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Content-Length: \
19393<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-----------------------------491299511942<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Content-Disposition: \
form-data; name=&quot;docupload&quot;<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>docupload<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>-----------------------------491299511942<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Content-Disposition: \
form-data; name=&quot;docupload:upload:file&quot;; \
filename=&quot;test.jpg&quot;<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Content-Type: \
image/jpeg<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>AAAAAAAAAAAA \
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA \
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>&#8230;. \
<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>[more \
stuff]<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks,<o:p></o:p></span></p><p \
class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>James \
Liang<o:p></o:p></span></p><p class=MsoNormal><span \
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div \
style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p \
class=MsoNormal><b><span \
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span \
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Carlos E. Torchia \
[mailto:ctorchia@uvic.ca] <br><b>Sent:</b> Tuesday, November 29, 2011 9:28 \
PM<br><b>To:</b> grinder-use<br><b>Subject:</b> Re: [Grinder-use] grinder support for \
file upload<o:p></o:p></span></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p \
class=MsoNormal style='margin-bottom:12.0pt'>I am on Grinder 3.5. &nbsp;Have you \
tried recording an upload of a file to a different site? Is it possible your web app \
is doing fancy stuff with JavaScript and not really sending the file as form data, \
but encoding and sending it in separate requests?<o:p></o:p></p><div><p \
class=MsoNormal>On Tue, Nov 29, 2011 at 11:57 PM, James Liang &lt;<a \
href="mailto:jliang@andera.com">jliang@andera.com</a>&gt; \
wrote:<o:p></o:p></p><div><div><p class=MsoNormal \


[Attachment #4 (--===============6403301229866518675==)]
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d

_______________________________________________
Grinder-development mailing list
Grinder-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/grinder-development


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic