I created jython test cases scripts with TCPProxy Console. But those are not working, while I am trying to run.
My test cases is
Sample33.py
# The Grinder 3.11
# HTTP script recorded by TCPProxy at 29 Jul, 2014 10:19:35 AM
from net.grinder.script import Test
from net.grinder.script.Grinder import grinder
from net.grinder.plugin.http import HTTPPluginControl, HTTPRequest
from HTTPClient import NVPair
connectionDefaults = HTTPPluginControl.getConnectionDefaults()
httpUtilities = HTTPPluginControl.getHTTPUtilities()
# To use a proxy server, uncomment the next line and set the host and port.
# connectionDefaults.setProxyServer("localhost", 8001)
def createRequest(test, url, headers=None):
"""Create an instrumented HTTPRequest."""
request = HTTPRequest(url=url)
if headers: request.headers=headers
test.record(request, HTTPRequest.getHttpMethodFilter())
return request
# These definitions at the top level of the file are evaluated once,
# when the worker process is started.
connectionDefaults.defaultHeaders = \
[ NVPair('Accept-Encoding', 'gzip, deflate'),
NVPair('Accept-Language', 'en-US,en;q=0.5'),
NVPair('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0'), ]
headers0= \
[ NVPair('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
NVPair('Referer', 'http://mycompany.com/'), ]
url0 = 'http://mycompany.com:80'
request101 = createRequest(Test(101, 'GET /'), url0)
request201 = createRequest(Test(201, 'POST home'), url0, headers0)
request202 = createRequest(Test(202, 'GET home'), url0, headers0)
request203 = createRequest(Test(203, 'GET /'), url0, headers0)
request301 = createRequest(Test(301, 'GET holidays-2014'), url0, headers0)
request302 = createRequest(Test(302, 'GET Untitled_3.png'), url0)
request303 = createRequest(Test(303, 'GET Untitled_3.png'), url0)
class TestRunner:
"""A TestRunner instance is created for each worker thread."""
# A method for each recorded page.
def page1(self):
"""GET / (request 101)."""
result = request101.GET('/', None,
( NVPair('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'),
NVPair('If-Modified-Since', 'Mon, 28 Jul 2014 10:47:07 +0000'),
NVPair('If-None-Match', '\"1406544427\"'), ))
self.token_form_build_id = \
httpUtilities.valueFromHiddenInput('form_build_id') # 'form-MvE2-tuZ5-faR4EyZ0XSU6qaOpz8rex1-4u...'
self.token_form_id = \
httpUtilities.valueFromHiddenInput('form_id') # 'user_login_block'
return result
def page2(self):
"""POST home (requests 201-203)."""
self.token_destination = \
'node/103'
# Expecting 302 'Found'
result = request201.POST('/home' +
'?destination=' +
self.token_destination,
( NVPair('name', 'myuser'),
NVPair('pass', 'mypassword'),
NVPair('form_build_id', self.token_form_build_id),
NVPair('form_id', self.token_form_id),
NVPair('op', 'Log in'), ),
( NVPair('Content-Type', 'application/x-www-form-urlencoded'), ))
grinder.sleep(27)
# Expecting 301 'Moved Permanently'
request202.GET('/home')
grinder.sleep(18)
request203.GET('/', None,
( NVPair('If-Modified-Since', 'Tue, 29 Jul 2014 04:47:09 +0000'),
NVPair('If-None-Match', '\"1406609229\"'), ))
return result
def page3(self):
"""GET holidays-2014 (requests 301-303)."""
result = request301.GET('/content/holidays-2014')
self.token_form_build_id = \
httpUtilities.valueFromHiddenInput('form_build_id') # 'form-VWPMyhphM5Lg3O6qyQx1iS_uc6p20Scw7cY...'
self.token_form_token = \
httpUtilities.valueFromHiddenInput('form_token') # 'DT9Ya9GCdGKlSNIEMLP4noRGMnd4Dvs2WVgMsEsw...'
self.token_form_id = \
httpUtilities.valueFromHiddenInput('form_id') # 'search_block_form'
grinder.sleep(47)
request302.GET('/sites/default/files/Untitled_3.png', None,
( NVPair('Accept', 'image/png,image/*;q=0.8,*/*;q=0.5'),
NVPair('Referer', 'http://mycompany.com/content/holidays-2014'), ))
return result
def __call__(self):
"""Called for every run performed by the worker thread."""
self.page1() # GET / (request 101)
grinder.sleep(279)
self.page2() # POST home (requests 201-203)
grinder.sleep(147)
self.page3() # GET holidays-2014 (requests 301-303)
# Instrument page methods.
Test(100, 'Page 1').record(TestRunner.page1)
Test(200, 'Page 2').record(TestRunner.page2)
Test(300, 'Page 3').record(TestRunner.page3)
My Properties file: test.properties
grinder.script=sample33.py
grinder.processes=1
grinder.threads=1
grinder.runs=0
grinder.logDirectory=log
grinder.numberOfOldLogs=2
grinder.useConsole=false
My output:
2014-07-29 11:01:10,579 INFO myuser-0 thread-0 [ run-193, test-301 ]: http://mycompany.com/content/holidays-2014 -> 403 Forbidden, 18674 bytes
2014-07-29 11:01:10,579 INFO myuser-0 thread-0 [ run-193 ]: sleeping for 48 ms
2014-07-29 11:01:10,652 INFO myuser-0 thread-0 [ run-193, test-302 ]: http://mycompany.com/sites/default/files/Untitled_3.png -> 200 OK, 130429 bytes
2014-07-29 11:01:10,996 INFO myuser-0 thread-0 [ run-194, test-101 ]: http://mycompany.com/ -> 403 Forbidden, 17617 bytes
2014-07-29 11:01:10,997 INFO myuser-0 thread-0 [ run-194 ]: sleeping for 263 ms
2014-07-29 11:01:11,686 INFO myuser-0 thread-0 [ run-194, test-201 ]: http://mycompany.com/home?destination=node/103 -> 302 Found, 0 bytes [Redirect, ensure the next URL is http://mycompany.com/home]
2014-07-29 11:01:11,686 INFO myuser-0 thread-0 [ run-194 ]: sleeping for 27 ms
2014-07-29 11:01:11,973 INFO myuser-0 thread-0 [ run-194, test-202 ]: http://mycompany.com/home -> 301 Moved Permanently, 0 bytes [Redirect, ensure the next URL is http://mycompany.com/]
2014-07-29 11:01:11,973 INFO myuser-0 thread-0 [ run-194 ]: sleeping for 17 ms
2014-07-29 11:01:12,229 INFO myuser-0 thread-0 [ run-194, test-203 ]: http://mycompany.com/ -> 403 Forbidden, 17617 bytes
2014-07-29 11:01:12,229 INFO myuser-0 thread-0 [ run-194 ]: sleeping for 141 ms
2014-07-29 11:01:12,681 INFO myuser-0 thread-0 [ run-194, test-301 ]: http://mycompany.com/content/holidays-2014 -> 403 Forbidden, 18674 bytes
2014-07-29 11:01:12,682 INFO myuser-0 thread-0 [ run-194 ]: sleeping for 46 ms
2014-07-29 11:01:12,751 INFO myuser-0 thread-0 [ run-194, test-302 ]: http://mycompany.com/sites/default/files/Untitled_3.png -> 200 OK, 130429 bytes
2014-07-29 11:01:13,033 INFO myuser-0 thread-0 [ run-195, test-101 ]: http://mycompany.com/ -> 403 Forbidden, 17617 bytes
2014-07-29 11:01:13,034 INFO myuser-0 thread-0 [ run-195 ]: sleeping for 307 ms
2014-07-29 11:01:13,937 INFO myuser-0 thread-0 [ run-195, test-201 ]: http://mycompany.com/home?destination=node/103 -> 302 Found, 0 bytes [Redirect, ensure the next URL is http://mycompany.com/home]
2014-07-29 11:01:13,938 INFO myuser-0 thread-0 [ run-195 ]: sleeping for 27 ms
2014-07-29 11:01:14,223 INFO myuser-0 thread-0 [ run-195, test-202 ]: http://mycompany.com/home -> 301 Moved Permanently, 0 bytes [Redirect, ensure the next URL is http://mycompany.com/]
2014-07-29 11:01:14,224 INFO myuser-0 thread-0 [ run-195 ]: sleeping for 18 ms
2014-07-29 11:01:14,480 INFO myuser-0 thread-0 [ run-195, test-203 ]: http://mycompany.com/ -> 403 Forbidden, 17617 bytes
2014-07-29 11:01:14,480 INFO myuser-0 thread-0 [ run-195 ]: sleeping for 149 ms
2014-07-29 11:01:14,931 INFO myuser-0 thread-0 [ run-195, test-301 ]: http://mycompany.com/content/holidays-2014 -> 403 Forbidden, 18674 bytes
2014-07-29 11:01:14,932 INFO myuser-0 thread-0 [ run-195 ]: sleeping for 49 ms
2014-07-29 11:01:15,003 INFO myuser-0 thread-0 [ run-195, test-302 ]: http://mycompany.com/sites/default/files/Untitled_3.png -> 200 OK, 130429 bytes
2014-07-29 11:01:15,277 INFO myuser-0 thread-0 [ run-196, test-101 ]: http://mycompany.com/ -> 403 Forbidden, 17617 bytes
2014-07-29 11:01:15,278 INFO myuser-0 thread-0 [ run-196 ]: sleeping for 301 ms
2014-07-29 11:01:15,332 INFO myuser-0 : communication shut down
2014-07-29 11:01:15,340 INFO myuser-0 thread-0 [ run-196 ]: shut down
2014-07-29 11:01:15,341 INFO myuser-0 thread-0: finished 196 runs
2014-07-29 11:01:15,341 INFO myuser-0 : elapsed time is 404648 ms
2014-07-29 11:01:15,341 INFO myuser-0 : Final statistics for this process:
2014-07-29 11:01:15,350 INFO myuser-0 :
Tests Errors Mean Test Test Time TPS Mean Response Response Mean time to Mean time to Mean time to
Time (ms) Standard response bytes per errors resolve host establish first byte
Deviation length second connection
(ms)
(Test 100 197 0 286.38 35.05 0.49 0.00 0.00 0 - - 0.00) "Page 1"
Test 101 197 0 285.10 34.57 0.49 17617.00 8576.71 197 0.10 2.25 265.98 "GET /"
(Test 200 196 0 970.07 233.03 0.48 0.00 0.00 0 - - 0.00) "Page 2"
Test 201 196 0 453.68 223.42 0.48 0.00 0.00 0 0.03 2.51 453.05 "POST home"
Test 202 196 0 219.01 30.85 0.48 0.00 0.00 0 0.02 2.26 218.58 "GET home"
Test 203 196 0 250.14 22.02 0.48 17617.00 8533.17 196 0.02 2.20 230.47 "GET /"
(Test 300 196 0 379.49 33.35 0.48 0.00 0.00 0 - - 0.00) "Page 3"
Test 301 196 0 302.42 32.69 0.48 18674.00 9045.16 196 0.01 2.20 283.80 "GET holidays-2014"
Test 302 196 0 28.66 4.78 0.48 130429.00 63176.10 0 0.01 2.19 6.21 "GET Untitled_3.png"
Totals 1177 0 256.53 157.42 2.91 30711.70 89331.14 589 0.03 2.27 243.03
(589) (0)
Tests resulting in error only contribute to the Errors column.
Statistics for individual tests can be found in the data file, including
(possibly incomplete) statistics for erroneous tests. Composite tests
are marked with () and not included in the totals.
all pages it is showing 403 error only. I tried recording(saving every page) also. Only login page only recording(saving) no other pages. not coming Please help me, is it need to change any thing in the auto generated code?
what is 'name' and 'pass' fields, is it stable for every url or else, I have to change corresponding to my site?
Refer this link Error 403
I believe you have to go and talk to your server / network team .This is more local network issue rather than grinder thing.
You can try recording without using DNS since its in your network type in the ipaddress then record your interactions or change the URL to IP Address .
However do remeber if you switch to ip you wont be able to reap the benefits of load balancing.