cpan Selenium-Remote-Driver 0.18

latest releases: 2.232012, 0.1.11, 0.5...
10 years ago
  • New maintainer: Daniel Gempesaw gempesaw@gmail.com
  • Fix failing tests in CPAN distribution!

[THINGS THAT MIGHT BREAK YOUR CODE]

[NEW FEATURES]

  • Merged Test::WebDriver into this distribution as Test::Selenium::Remote::Driver.
    Several updates to it are included since the last release. (Mark Stosberg)

  • The existence of most (or all?) key testing methods in
    Test::Selenium::Remote::Driver is now documented, rather than leaving it to users
    to figure out the magic effects of AUTOLOAD on the methods in the parent
    class. (Mark Stosberg)

  • Added type_ok() to Test::Selenium::Remote::Driver, similar to the method by the same name
    from Test::WWW::Mechanize (Mark Stosberg)

  • Added several methods to Test::Selenium::Remote::Driver that allow you to find
    an WebElement and test against in a single command. (Mark Stosberg)
    The test methods for WebElements include:

    type_element_ok - find an element and type into it.
    element_text_is - find an element and check the text.
    element_value_is - find an element and check the value.
    click_element_ok - find an element and click on it.
    clear_element_ok - find an element and clear it.
    is_element_displayed_ok - find an element and check to see if it's displayed.
    is_element_enabled_ok - find an element and check to see if it's enabled.

  • Added and started using Test::Selenium::Remote::WebElement. This a
    sub-class of Selenium::Remote::WebElement. This allows testing
    methods on the "WebElement" object as well as main '$driver' object.

  • Added a pause() function, that sleeps for the given number of milliseconds, just like
    Test::WWW::Selenium. https://github.com/aivaturi/Selenium-Remote-Driver/issues/60

  • new() now accepts a 'default_finder' option to allow you to change the default finder, which
    is currently 'xpath'. This will be of interest to those who prefer CSS-style selectors,
    such as jQuery uses.
    https://github.com/aivaturi/Selenium-Remote-Driver/pull/49

  • new() now accepts a 'webelement_class' option to allow you to specify an alternate WebElement class.
    This could be used to add testing methods or functionality for WebElements.

  • Shortcut methods absorbed from Test::WebDriver into Selenium::Remote::Driver:

get_text() Returns the text for a particular element.
get_body() Returns the text for the whole body.
get_path() Returns the path part of the current URL.

  • New short method to save a screenshot to a file: $driver->capture_screenshot($filename).
    The name was chosen for compatibility with a WWW::Selenium method of the same name.

  • Removed 'get_location()' as an alias in Test::Selenium::Remote::Driver.
    Please use the more specific 'get_current_url()' instead.
    It's a more specific name that matches the Selenium API method name.

  • Adding text checking methods to Test::Selenium::Remote::Driver

    Run regex's against the entire page source

    content_like()
    content_unlike()

    Run regex's against just the "text" of the page

    body_text_like()
    body_text_unlike()

    Check page source for strings

    content_contains()
    content_lacks()

    Check text of page for strings

    body_text_contains()
    body_text_lacks()

The names are intentionally the same as their Test::WWW::Mechanize
counterparts. However, these methods may take an arrayref of regular
expressions for improved performance when you want to run multiple
tests against the same page.

Normally Selenium::Remote::Driver would make an HTTP request to the
driven browser for each content check. By using an arrayref for
multiple checks of the same page, you can avoid the extra HTTP
requests and speed up your tests. (Mark Stosberg)

[DOCUMENTATION]

  • Updated ChangeLog to reflect that debug_on() and debug_off() methods were added in 0.16.

[INTERNALS]

  • Switch S::R::D to Moo; this should not have any adverse impacts, as our API is unchanged

  • Take advantage of additional Dist::Zilla plugins (travis, commitbuild, autoprereqs, etc)

  • MIME::Base64 is now only loaded if it used for a file upload or taking a screenshot.
    This will create a minor speed-up for common cases which don't use these features.

  • Explained why the code does 'use 5.006; use v5.10.0;', and it's not pretty.
    The short version: before perl 5.006, the v-string 'v5.10.0' would not be understood.
    The page http://www.dagolden.com/index.php/369/version-numbers-should-be-boring/
    explains it in much more detail than I can.
    Fortunately, it boils down to this: http://perldoc.perl.org/5.10.0/functions/use.html#use-VERSION

  • Added Test::LongString as a dependency to support the new content checking methods.

Don't miss a new Selenium-Remote-Driver release

NewReleases is sending notifications on new releases.