Perl 6 bindings for Selenium WebDriver
Perl6
Latest commit dab0ca3 Jan 23, 2017 @azawawi Whitespace nudge

README.md

Selenium::WebDriver

This module provides the Perl 6 bindings for the Selenium WebDriver Wire Protocol.

Note: This module is a work in progress. Please see its project status here.

Build Status

Operating System Build Status CI Provider
Linux / Mac OS X Build Status Travis CI
Windows 7 64-bit Build status AppVeyor

Example

use v6;
use Selenium::WebDriver::PhantomJS;

my $driver = Selenium::WebDriver::PhantomJS.new;
$driver.url("http://google.com");
say "Title: "         ~ $driver.title;
say "URL: "           ~ $driver.url;
say "Source length: " ~ $driver.source.chars;
$driver.save-screenshot('test.png');
LEAVE {
  $driver.quit if $driver.defined
};

For more examples, please see the examples folder.

PhantomJS Installation

Linux/Debian

To install phantomjs on Debian, please type the following:

$ sudo apt-get install phantomjs

CAUTION: Also there are prebuilt binaries for PhantomJS for Linux if the packaged version is a bit old.

Mac OS X

To install PhantomJS on Mac OS X, the simplest solution is to use brew:

$ brew update
$ brew install phantomjs

Windows

To install PhantomJS on windows, please download a copy from Here and then make it available in your PATH environment variable.

Travis CI

Travis CI comes with pre-installed PhantomJS. No special instructions are needed.

Project Status

Web Driver Status
PhantomJS DONE but needs more tests
Firefox DONE
Chrome DONE but needs external chromedriver
Safari Pending
Opera Pending
MSIE Pending
MSEdge Pending
BlackBerry DONE

Installation

To install it using zef (a module management tool bundled with Rakudo Star):

$ zef install Selenium::WebDriver

Testing

To run tests:

$ prove -v -e "perl6 -Ilib"

To run author tests, you need to manually install Test::META:

$ zef install Test::META
$ AUTHOR_TESTING=1 prove -e "perl6 -Ilib"

Author

Ahmad M. Zawawi, azawawi on #perl6

License

MIT License