Grinder - Auto generated jython test case scripts are not working

447 Views Asked by At

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?

1

There are 1 best solutions below

0
On

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.