S::R::D

gempesaw 105ed46767 Switch to markdown readme and add usage section 11 tahun lalu
lib 9e823840a8 Satisfy encoding issue in pod.t 11 tahun lalu
t 6d96e42cea Update mock recordings for windows 11 tahun lalu
.gitignore 9bb5ed663e Add `dzil build` generated files to ignore 11 tahun lalu
.travis.yml a71f3b7547 Add [TravisYML] to dist.ini 11 tahun lalu
Changes ba2208191c Interweave new changes to align with previous formatting 11 tahun lalu
README.md 105ed46767 Switch to markdown readme and add usage section 11 tahun lalu
TAGS 01f49fa04a Add ctags file 11 tahun lalu
dist.ini 852fd02a33 Update copyright 11 tahun lalu
driver-example.pl b6e79c1345 Changed line endings to Unix format. 12 tahun lalu
ide-plugin.js b6e79c1345 Changed line endings to Unix format. 12 tahun lalu

README.md

Selenium::Remote::Driver

Selenium WebDriver is an open source project that exposes an API for browser automation. Selenium::Remote::Driver is a set of Perl bindings to that API that allow you to write automated browser tests in Perl, taking advantage of Selenium's strong ecosystem.

Installation

cpanm Selenium::Remote::Driver

To install from this repository, clone the repo, get Dist::Zilla, and:

dzil installdeps --missing | cpanm
dzil install

Usage

You'll need a Remote WebDriver Server running somewhere. You can download a selenium-standalone-server.jar and run one locally, or you can point your job at Saucelabs and let them handle the Remote WebDriver.

Locally

use Selenium::Remote::Driver;

my $driver = Selenium::Remote::Driver->new;
$driver->get('http://www.google.com');
print $driver->get_title();
$driver->quit();

Unit Tests

This module uses LWP::Protocol::PSGI to facilitate unit tests. LWP::Protocol::PSGI overrides the LWP HTTP/HTTPS & this allows us to "mock" the interaction with WebDriver Server. In regular instances you should be running the tests against the mocked recording, which are stored in t/mock-recordings. If you want to run the tests live against the WebDriver server, set an environment variable WD_MOCKING_RECORD to 1. This will force the unit tests to run tests against the WebDriver server & also save the traffic (request/response) in t/mock-recordings. Either reset the environment variable or set it to 0 to revert to mocking the traffic.

Support and Documentation

After installing, you can find documentation for this module with the perldoc command.

perldoc Selenium::Remote::Driver
perldoc Selenium::Remote::WebElement

Please file all bugs for this module at:

https://github.com/gempesaw/Selenium-Remote-Driver/issues

You can also find some supporting docs at:

https://github.com/gempesaw/Selenium-Remote-Driver/wiki

LICENSE AND COPYRIGHT

Copyright (c) 2010-2011 Aditya Ivaturi, Gordon Child

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.