'When testing, we have to make sure that the page has loaded before
testing the resulting page.
Three ways to specify the url to browse to:
1. First positional argument
2. dest_url keyword argument
3. reverse lookup of url_name argument.'

def browse_to(self, *args, **kwargs):

    if kwargs.get('browser'):
        browser = kwargs.get('browser')
        del kwargs['browser']
    else:
        browser = self.browser
    if args:
        assert ('dest_url' not in kwargs)
    elif ('dest_url' in kwargs):
        assert ('url_name' not in kwargs)
    elif ('url_name' in kwargs):
        kwargs['dest_url'] = self.reverse(kwargs['url_name'])
        del kwargs['url_name']
    else:
        raise Exception('Must    specify    the    destination    url.')
    browse_to(browser, *args, **kwargs)
