'Go to the (potentially relative) link ``href``, using the
given method (``\'get\'`` or ``\'post\'``) and any extra arguments
you want to pass to the ``app.get()`` or ``app.post()``
methods.
All hostnames and schemes will be ignored.'

def goto(self, href, method='get', **args):

    (scheme, host, path, query, fragment) = urlparse.urlsplit(href)
    scheme = host = fragment = ''
    href = urlparse.urlunsplit((scheme, host, path, query, fragment))
    href = urlparse.urljoin(self.request.full_url, href)
    method = method.lower()
    assert (method in ('get', 'post')), ('Only    "get"    or    "post"    are    allowed    for    method    (you    gave    %r)' % method)
    if (method == 'get'):
        method = self.test_app.get
    else:
        method = self.test_app.post
    return method(href, **args)
