def test_form(self): form = [etree.fromstring(""" <form action="/caterpillar/test_bench/http_methods/post" method="post"> <p> <span>Input text:</span> <input id="msg" name="msg" size="42" type="text" value="Python was conceived in the late 1980s and its implementation was started in December 1989 by Guido van Rossum" /> </p> </form> """)] session = MarionetSession.objects.create( location = 'http://example.com:8000/some-page', query = '', baseURL = self.junit_base, ) _form = PageTransformer.form(None, form, [session] )[0] # take 1st _Element action = urlparse(_form.get('action')) self.assertEqual(action.netloc, 'example.com:8000') query = parse_qs(action.query) # parse_qs decodes url parameters! self.assertEqual( query[session.get('namespace')+'.href'][0], 'http://localhost:3000/caterpillar/test_bench/http_methods/post' ) self.assertEqual( query[session.get('namespace')+'.lifecycle'][0], 'processAction' )