| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- use strict;
- use warnings;
- use 5.010;
- use Test::More;
- use Test::Selenium::Remote::Driver;
- if (not Test::Selenium::Remote::Driver->server_is_running()) {
- plan skip_all => 'The Selenium server must be running for this test';
- }
- plan tests => 9;
- my $s = Test::Selenium::Remote::Driver->new(
- default_finder => 'css',
- javascript => 1,
- );
- $s->get_ok('http://perl.org/');
- $s->title_is('The Perl Programming Language - www.perl.org');
- my $old_handles = $s->get_window_handles;
- is scalar(@$old_handles), 1;
- $s->execute_script(q{$(window.open('http://cpan.org/'))});
- $s->title_is('The Perl Programming Language - www.perl.org');
- my $handles = $s->get_window_handles;
- is scalar(@$handles), 2;
- diag explain $handles;
- my @titles;
- foreach my $h (@$handles) {
- $s->switch_to_window($h);
- diag $s->get_title;
- push @titles, $s->get_title;
- }
- my $current_title = $s->get_title;
- foreach my $t (@titles) {
- TODO: {
- local $TODO = 'switching window by title';
- eval {
- $s->switch_to_window($t);
- };
- is $@, undef, 'exception switching';
- is $s->get_title, $t, 'title';
- }
- }
|