=================================
Using testbrowser On the Internet
=================================

The ``zope.testbrowser`` module exposes a ``Browser`` class that
simulates a web browser similar to Mozilla Firefox or IE.

    >>> from zope.testbrowser.browser import Browser
    >>> browser = Browser()

It can send arbitrary headers; this is helpful for setting the language value,
so that your tests format values the way you expect in your tests, if you rely
on zope.i18n locale-based formatting or a similar approach.

    >>> browser.addHeader('Accept-Language', 'en-US')

The browser can `open` web pages:

    >>> # This is tricky, since in Germany I am forwarded to google.de usually;
    >>> # The `ncr` forces to really go to google.com.
    >>> browser.open('http://google.com/ncr')
    >>> browser.url
    'http://www.google.com/'
    >>> 'html' in browser.contents.lower()
    True

We'll put some text in the query box...

    >>> browser.getControl(name='q').value = 'zope.testbrowser'

...and then click the search button.

    >>> browser.getControl('Google Search').click()
    Traceback (most recent call last):
    ...
    httperror_seek_wrapper: HTTP Error 403: request disallowed by robots.txt

Oops!  Google doesn't let robots use their search engine.  Oh well.
