Very cool!

On Wednesday, August 29, 2012 6:49:14 PM UTC-4, Massimo Di Pierro wrote:
>
> I think you are going to like this:
> https://github.com/web2py/web2py/blob/master/gluon/contrib/webclient.py
>
> start web2py on port 8000. Then in a normal python shell:
>
>     from gluon.contrib.webclient import WebClient
>     session = WebClient('http://127.0.0.1:8000/welcome/default/')
>     session.get('user/register')
>     session_id_welcome = session.cookies['session_id_welcome']
>     print session.forms # tells you which forms are in page (*)
>     data = dict(first_name = 'Homer',
>                 last_name = 'Simpson',
>                 email = 'ho...@web2py.com <javascript:>',
>                 password = 'test',
>                 password_two = 'test',
>                 _formname = 'register')  # (*)
>     session.post('user/register',data = data)
>
>     session.get('user/login')
>     data = dict(email='ho...@web2py.com <javascript:>',
>                 password='test',
>                 _formname = 'login')
>     session.post('user/login',data = data)
>     
>     session.get('index')
>
>     # check registration and login were successful
>     assert 'Welcome Homer' in session.text
>
>     # check we are always in the same session
>     assert session_id_welcome == session.cookies['session_id_welcome']
>
>
> It understand sessions (not just web2py session)
> It understands basic auth (not used in the example)
> It understands web2py forms (*) and fills in the _formkeys.
>
> Suggestions for improvement?
>
> Massimo
>
>

-- 



Reply via email to