Selenium-Remote-Driver
view release on metacpan or search on metacpan
t/01-driver.t view on Meta::CPAN
LOAD_PAGE: {
$driver->get("$website/index.html");
note('Loaded home page');
$ret = $driver->get_title();
is($ret, 'Hello WebDriver', 'Got the title');
$ret = $driver->get_current_url();
ok($ret =~ m/$website/i, 'Got proper URL');
}
WINDOW: {
SKIP: {
skip 'window position is busted in 3.4.0', 8;
$ret = $driver->get_current_window_handle();
$ret = $driver->get_window_handles();
is(ref $ret, 'ARRAY', 'Received all window handles');
$ret = $driver->set_window_position(100,100);
is($ret, 1, 'Set the window position to 100, 100');
$ret = $driver->get_window_position();
is ($ret->{'x'}, 100, 'Got the right X Co-ordinate');
is ($ret->{'y'}, 100, 'Got the right Y Co-ordinate');
$ret = $driver->set_window_size(640, 480);
is($ret, 1, 'Set the window size to 640x480');
$ret = $driver->get_window_size();
is ($ret->{'height'}, 640, 'Got the right height');
is ($ret->{'width'}, 480, 'Got the right width');
$ret = $driver->maximize_window();
is ($ret, 1, "Got confirmation from maximize");
}
SKIP: {
skip 'window position is busted in 3.4.0', 2;
# skip 'headless browsers don\'t get maximized', 2
# unless $^O =~ /darwin|MSWin32/;
$ret = $driver->get_window_size();
ok ($ret->{'height'} > 640, 'Height has increased');
ok ($ret->{'width'} > 480, 'Width has increased');
}
$ret = $driver->get_page_source();
ok($ret =~ m/^<html/i, 'Received page source');
# Using a string instead of an int exercises the
# _coerce_timeout_ms functionality
eval {$driver->set_implicit_wait_timeout("20001");};
ok(!$@,"Set implicit wait timeout with string");
eval {$driver->set_implicit_wait_timeout(0);};
ok(!$@,"Reset implicit wait timeout with integer");
my $invalid_ms = 'invalid timeout ms';
ok( exception{ $driver->set_timeout('script', $invalid_ms) },
'Coerce ms arguments for set_timeout' );
ok( exception{ $driver->set_async_script_timeout( $invalid_ms ) },
'Coerce ms arguments for set_async_script_timeout' );
ok( exception{ $driver->set_implicit_wait_timeout( $invalid_ms ) },
'Coerce ms arguments for set_implicit_wait_timeout' );
$ret = $driver->get("$website/frameset.html");
$ret = $driver->switch_to_frame('second');
SKIP: {
skip 'Cannot rotate desktop browsers', 3;
ok($driver->get_orientation eq 'PORTRAIT', 'Can get default orientation');
$ret = $driver->set_orientation('LANDSCAPE');
ok($ret, 'Can change orientation to LANDSCAPE');
ok($driver->get_orientation eq 'LANDSCAPE', 'Can get changed orientation');
}
}
COOKIES: {
$driver->get("$website/cookies.html");
$ret = $driver->get_all_cookies();
is(@{$ret}, 2, 'Got 2 cookies');
$ret = $driver->delete_all_cookies();
note('Deleting cookies...');
$ret = $driver->get_all_cookies();
is(@{$ret}, 0, 'Deleted all cookies.');
$driver->debug_on();
$ret = $driver->add_cookie('foo', 'bar', '/', $domain, 0);
note('Adding cookie foo...');
$ret = $driver->get_all_cookies();
is(@{$ret}, 1, 'foo cookie added.');
is($ret->[0]{'secure'}, 0, 'foo cookie insecure.');
$ret = $driver->delete_cookie_named('foo');
note('Deleting cookie foo...');
$ret = $driver->get_all_cookies();
is(@{$ret}, 0, 'foo cookie deleted.');
$ret = $driver->delete_all_cookies();
}
MOVE: {
$driver->get("$website/index.html");
$driver->get("$website/formPage.html");
$ret = $driver->go_back();
note('Clicked Back...');
$ret = $driver->get_title();
is($ret, 'Hello WebDriver', 'Got the right title');
$ret = $driver->go_forward();
note('Clicked Forward...');
$ret = $driver->get_title();
is($ret, 'We Leave From Here', 'Got the right title');
$ret = $driver->refresh();
note('Clicked Refresh...');
$ret = $driver->get_title();
is($ret, 'We Leave From Here', 'Got the right title');
}
FIND: {
my $elem = $driver->find_element("//input[\@id='checky']");
ok($elem->isa('Selenium::Remote::WebElement'), 'Got WebElement via Xpath');
$elem = $driver->find_element('checky', 'id');
ok($elem->isa('Selenium::Remote::WebElement'), 'Got WebElement via Id');
$elem = $driver->find_element('checky', 'name');
ok($elem->isa('Selenium::Remote::WebElement'), 'Got WebElement via Name');
$driver->default_finder('css');
$elem = $driver->find_element('#multi');
$elem = $driver->find_child_element($elem, "option[selected]");
ok($elem->isa('Selenium::Remote::WebElement'), 'Got child WebElement...');
$driver->default_finder('xpath');
$elem = $driver->find_element('multi', 'id');
( run in 0.579 second using v1.01-cache-2.11-cpan-39bf76dae61 )