The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Brownie::DSL - provides DSL-Style interface to use browser session

SYNOPSIS

  use Brownie::DSL;

  # external server
  Brownie->driver('Mechanize');
  Brownie->app_host('http://app.example.com:5000');

  # PSGI app
  Brownie->driver('Mechanize');
  Brownie->app(sub { ...(PSGI app)... });

  # psgi file
  Brownie->driver('Mechanize');
  Brownie->app('app.psgi');

  visit('/');
  is title, 'Some Title';

  fill_in('User Name' => 'brownie');
  fill_in('Email Address' => 'brownie@example.com');
  click_button('Login');
  like source, qr/Welcome (.+)/;

  fill_in(q => 'Brownie');
  lick_link_or_button('Search');
  like title, qr/Search result of Brownie/i;

  done_testing;

CLASS METHODS

  • driver: loadable driver name or config

  • app_host: external target application

  • app: PSGI application

FUNCTIONS

  • page

    Shortcut to accessing the current session.

  • visit($url)

  • current_url

  • current_path

  • title

  • source

  • screenshot($filename)

  • click_link($locator)

  • click_button($locator)

  • click_on($locator)

  • fill_in($locator, $value)

  • choose($locator)

  • check($locator)

  • uncheck($locator)

  • select($locator)

  • unselect($locator)

  • attach_file($locator, $filename)

  • execute_script($javascript)

  • evaluate_script($javascript)

  • find($locator)

  • all($locator)

AUTHOR

NAKAGAWA Masaki <masaki@cpan.org>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Brownie::Session