diff --git a/helios/tests.py b/helios/tests.py
index 542df03339183e24e4a4c156b5a6abd53bc93054..3bd573197b062287d6dd34896d03c8f904156f66 100644
--- a/helios/tests.py
+++ b/helios/tests.py
@@ -623,8 +623,8 @@ class ElectionBlackboxTests(WebTest):
         check_user_logged_in looks for the "you're already logged" message
         """
         # vote by preparing a ballot via the server-side encryption
-        response = self.app.post("/helios/elections/%s/encrypt-ballot" % election_id, {
-                'answers_json': utils.to_json([[1]])})
+        response = self.app.post("/helios/elections/%s/encrypt-ballot" % election_id,
+                   params={'answers_json': utils.to_json([[1]])})
         self.assertContains(response, "answers")
 
         # parse it as an encrypted vote with randomness, and make sure randomness is there
@@ -637,8 +637,8 @@ class ElectionBlackboxTests(WebTest):
         encrypted_vote = ballot.serialize()
         
         # cast the ballot
-        response = self.app.post("/helios/elections/%s/cast" % election_id, {
-                'encrypted_vote': encrypted_vote})
+        response = self.app.post("/helios/elections/%s/cast" % election_id,
+                   params={'encrypted_vote': encrypted_vote})
         self.assertRedirects(response, "%s/helios/elections/%s/cast_confirm" % (settings.SECURE_URL_HOST, election_id))
 
         cast_confirm_page = response.follow()
diff --git a/requirements.txt b/requirements.txt
index 3cd490d42021a734dec071ba79bbfb964e04411a..77a8496dd0eb5685e812314d06a41878a656212e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -15,7 +15,7 @@ requests==2.7.0
 unicodecsv==0.9.0
 dj_database_url==0.3.0
 django-sslify==0.2.7
-django_webtest==1.7.8
+django_webtest>=1.9
 webtest==2.0.18
 django-secure==1.0.1
 bleach==1.4.1