假设我有一个这样的表格:
<form id='myform'>
Favorite colors?
<input type='checkbox' name='color' value='Green'>Green
<input type='checkbox' name='color' value='Blue'>Blue
<input type='checkbox' name='color' value='Red'>Red
<input type='submit' value='Submit'>
</form>
如何使用webtest的表单库来测试提交多个值?
答案 0 :(得分:4)
不确定表单库,但您可以使用MultiDict(在某些情况下可能必须使用UnicodeMultiDict,我不确定)。
from webob.multidict import MultiDict
class TestSomeController(TestController):
def test_something(self):
params = MultiDict()
params.add('some_param', '1')
params.add('color', 'Green')
params.add('color', 'Blue')
response = self.app.post(url('something'), params=params)
assert 'something' in response
我从未使用WebTest提交实际表单,但是,查看Form类的源代码,可以设置要设置为消歧的字段的索引。我没有对它进行过测试,但是类似的东西可能会起作用:
form = response.form
form.set('color', True, 0)
form.set('color', True, 2)