view release on metacpan or search on metacpan
t/driver/mechanize/headers.t view on Meta::CPAN
use Brownie::Driver::Mechanize;
my $driver = Brownie::Driver::Mechanize->new;
my $body = '<html><body>ok</body></html>';
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ $body ] ] });
subtest 'Headers' => sub {
$driver->visit($httpd->endpoint);
subtest 'status_code' => sub {
is $driver->status_code => '200';
};
subtest 'response_headers' => sub {
my $headers = $driver->response_headers;
isa_ok $headers => 'HTTP::Headers';
my $ct = $headers->header('Content-Type');
t/driver/mechanize/navigation.t view on Meta::CPAN
my $driver = Brownie::Driver::Mechanize->new;
my $body = <<__HTTPD__;
<html><body>ok</body></html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
my $other_url = $base_url->clone;
$other_url->path('/foo/bar');
subtest 'Navigation' => sub {
subtest 'visit' => sub {
lives_ok { $driver->visit($base_url) };
};
subtest 'current_url' => sub {
for my $url ($base_url, $other_url) {
t/driver/mechanize/pages.t view on Meta::CPAN
<html>
<head><title>test title</title></head>
<body>Hello Brownie</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html' ], [ $body ] ] });
subtest 'Pages' => sub {
$driver->visit($httpd->endpoint);
subtest 'title' => sub {
is $driver->title => 'test title';
};
subtest 'source' => sub {
my $data = $driver->source;
like $data => qr!<html>!s;
like $data => qr!</html>!s;
like $data => qr!Hello Brownie!;
t/driver/selenium_server/navigation.t view on Meta::CPAN
my $driver = Brownie::Driver::SeleniumServer->new;
my $body = <<__HTTPD__;
<html><body>ok</body></html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
subtest 'Navigation' => sub {
my @path = qw(
/foo/bar
/baz/quux
);
subtest 'visit' => sub {
lives_ok { $driver->visit($base_url) };
};
t/driver/selenium_server/pages.t view on Meta::CPAN
<html>
<head><title>test title</title></head>
<body>Hello Brownie</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html' ], [ $body ] ] });
subtest 'Pages' => sub {
$driver->visit($httpd->endpoint);
subtest 'title' => sub {
is $driver->title => 'test title';
};
subtest 'source' => sub {
my $data = $driver->source;
like $data => qr!<html!s;
like $data => qr!</html>!s;
like $data => qr!Hello Brownie!;
t/driver/selenium_server/scripting.t view on Meta::CPAN
my $driver = Brownie::Driver::SeleniumServer->new;
my $body = <<__HTTPD__;
<html><body>ok</body></html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html' ], [ $body ] ] });
subtest 'Scripting' => sub {
$driver->visit($httpd->endpoint);
subtest 'execute_script' => sub {
lives_ok { $driver->execute_script("document.title='execute_script'") };
is $driver->title => 'execute_script';
};
subtest 'evaluate_script' => sub {
my $got;
lives_ok { $got = $driver->evaluate_script('1 + 2') };
is $got => 3;
t/node/mechanize/accessor.t view on Meta::CPAN
<form>
<input type="text" name="text" id="text" value="text value"/>
</form>
</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
subtest 'Accessor' => sub {
$driver->visit($base_url);
my $doc = $driver->find('/html');
subtest 'text element' => sub {
my $elem = $doc->find('h1');
is $elem->tag_name => 'h1';
is $elem->text => 'Heading 1';
t/node/mechanize/finder.t view on Meta::CPAN
<div id="parent">
<p>inner paragraph</p>
</div>
</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
subtest 'Finder' => sub {
$driver->visit($base_url);
my $doc = $driver->find('/html');
subtest 'using XPath' => sub {
subtest 'all' => sub {
is scalar($doc->all('//li')) => 5;
is scalar($doc->all('//li[@class="even"]')) => 2;
t/node/mechanize/state.t view on Meta::CPAN
<input type="radio" name="radio" id="radio1" value="radio1" checked="checked"/>
<input type="radio" name="radio" id="radio2" value="radio2"/>
</form>
</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
subtest 'State' => sub {
$driver->visit($base_url);
my $doc = $driver->find('/html');
subtest 'visibility' => sub {
ok $doc->find('h1')->is_displayed;
ok $doc->find('head')->is_not_displayed;
ok $doc->find('script')->is_not_displayed;
t/node/selenium_server/accessor.t view on Meta::CPAN
<form>
<input type="text" name="text" id="text" value="text value"/>
</form>
</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
subtest 'Accessor' => sub {
$driver->visit($base_url);
my $doc = $driver->find('/html');
subtest 'text element' => sub {
my $elem = $doc->find('h1');
is $elem->tag_name => 'h1';
is $elem->text => 'Heading 1';
t/node/selenium_server/finder.t view on Meta::CPAN
<div id="parent">
<p>inner paragraph</p>
</div>
</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
subtest 'Finder' => sub {
$driver->visit($base_url);
my $doc = $driver->find('/html');
subtest 'using XPath' => sub {
subtest 'all' => sub {
is scalar($doc->all('//li')) => 5;
is scalar($doc->all('//li[@class="even"]')) => 2;
t/node/selenium_server/state.t view on Meta::CPAN
<input type="radio" name="radio" id="radio1" value="radio1" checked="checked"/>
<input type="radio" name="radio" id="radio2" value="radio2"/>
</form>
</body>
</html>
__HTTPD__
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub { [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ $body ] ] });
my $base_url = $httpd->endpoint;
subtest 'State' => sub {
$driver->visit($base_url);
my $doc = $driver->find('/html');
subtest 'visibility' => sub {
ok $doc->find('h1')->is_displayed;
ok $doc->find('head')->is_not_displayed;
ok $doc->find('script')->is_not_displayed;
t/session/external_server.t view on Meta::CPAN
use Test::More;
use Brownie::Session;
use Test::Fake::HTTPD;
subtest 'use external app' => sub {
my $httpd = Test::Fake::HTTPD->new(timeout => 30);
$httpd->run(sub {
return [ 200, [ 'Content-Type' => 'text/html' ], [ 'OK' ] ];
});
my $bs = Brownie::Session->new(app_host => $httpd->endpoint);
ok $bs->app_host;
is $bs->app_host => $httpd->endpoint;
$bs->visit('/');
is $bs->current_url => $bs->app_host . '/';
is $bs->status_code => 200;
is $bs->body => 'OK';
};
done_testing;
t/session/mechanize/click_link.t view on Meta::CPAN
</p>
</body>
</html>
__HTTPD__
[ 200, [ 'Content-Type' => 'text/html;charset=utf-8' ], [$body] ];
};
my $bs = Brownie::Session->new(driver => 'Mechanize', app => $app);
my @endpoints = (
['link_id', '/id'],
['Text of Link', '/text'],
['Title of Link', '/title'],
['Alt of Image', '/img/alt'],
);
subtest 'click_link' => sub {
for (@endpoints) {
my ($locator, $path) = @$_;
$bs->visit('/');
is $bs->current_path => '/';
ok $bs->click_link($locator);
is $bs->current_path => $path;
}
};
subtest 'click_link_or_button' => sub {
for (@endpoints) {
my ($locator, $path) = @$_;
$bs->visit('/');
is $bs->current_path => '/';
ok $bs->click_link_or_button($locator);
is $bs->current_path => $path;
}
};
done_testing;
t/session/selenium_server/click_link.t view on Meta::CPAN
</p>
</body>
</html>
__HTTPD__
[ 200, [ 'Content-Type' => 'text/html;charset=utf-8' ], [$body] ];
};
my $bs = Brownie::Session->new(driver => 'SeleniumServer', app => $app);
my @endpoints = (
['link_id', '/id'],
['Text of Link', '/text'],
['Title of Link', '/title'],
['Alt of Image', '/img/alt'],
);
subtest 'click_link' => sub {
for (@endpoints) {
my ($locator, $path) = @$_;
$bs->visit('/');
is $bs->current_path => '/';
ok $bs->click_link($locator);
is $bs->current_path => $path;
}
};
subtest 'click_link_or_button' => sub {
for (@endpoints) {
my ($locator, $path) = @$_;
$bs->visit('/');
is $bs->current_path => '/';
ok $bs->click_link_or_button($locator);
is $bs->current_path => $path;
}
};
done_testing;
view all matches for this distributionview release on metacpan - search on metacpan