You need to add the new field to both fields and field_order:
from webtest.forms import Text
def add_dynamic_field(form, name, value):
"""Add an extra text field to a form. More work required to support files"""
field = Text(form, 'input', None, None, value)
form.fields[name] = [field]
form.field_order.append((name, field))
add_dynamic_field(resp.form, 'newfield', 'some value')