|
|
@@ -0,0 +1,80 @@
|
|
|
+# Selenium::Remote::Driver
|
|
|
+
|
|
|
+[Selenium WebDriver][1] 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.
|
|
|
+
|
|
|
+[1]: https://code.google.com/p/selenium/
|
|
|
+
|
|
|
+## 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][j] 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();
|
|
|
+
|
|
|
+[j]: http://selenium-release.storage.googleapis.com/index.html
|
|
|
+
|
|
|
+## 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.
|