From 745b0a9de5824df83887325390ca2a4e5b194264 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Fri, 19 Sep 2014 15:08:52 -0400 Subject: Handle the presence of additional form fields For exampe hidden fields which must be preserved and POSTed back to the action url. Signed-off-by: Simo Sorce Reviewed-by: Patrick Uiterwijk --- tests/helpers/http.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/helpers/http.py b/tests/helpers/http.py index 833637f..1d026a7 100755 --- a/tests/helpers/http.py +++ b/tests/helpers/http.py @@ -129,9 +129,11 @@ class HttpSessions(object): srv = self.servers[idp] try: - results = self.get_form_data(page, "login_form", []) + results = self.get_form_data(page, "login_form", ["name", "value"]) action_url = results[0] method = results[1] + names = results[2] + values = results[3] if action_url is None: raise Exception except Exception: # pylint: disable=broad-except @@ -139,8 +141,13 @@ class HttpSessions(object): referer = page.make_referer() headers = {'referer': referer} - payload = {'login_name': srv['user'], - 'login_password': srv['pwd']} + payload = {} + for i in range(0, len(names)): + payload[names[i]] = values[i] + + # replace known values + payload['login_name'] = srv['user'] + payload['login_password'] = srv['pwd'] return [method, self.new_url(referer, action_url), {'headers': headers, 'data': payload}] -- cgit