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 )