From fdab71a901539483047c71f5d299b9b21cbcdf6b Mon Sep 17 00:00:00 2001 From: Yves Lavoie Date: Sun, 13 Jun 2021 02:58:36 -0400 Subject: [PATCH] Implement key_up and key_down to allow mouse and keyboard combinations --- CHANGES | 7 ++++--- dist.ini | 2 +- lib/Weasel/Driver/Selenium2.pm | 30 ++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index ac9bd5d..791019b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,9 +1,10 @@ -** 0.13 / 2021-04-02 +** 0.13 / 2021-06-12 + - Implement key_up and key_down to allow mouse and keyboard combinations + +** 0.12 / 2021-04-05 - Properly fix JSONWIRE compatibility with FF by letting get_attribute try to separate attributes and properties on browsers which allows it and fallback on attributes only on failure. - -** 0.12 / 2021-04-01 - Move Continuous Integration tests to Github Actions ** 0.11 / 2020-06-17 diff --git a/dist.ini b/dist.ini index b5e198c..242db08 100644 --- a/dist.ini +++ b/dist.ini @@ -1,6 +1,6 @@ name = Weasel-Driver-Selenium2 abstract = PHP's Mink inspired multi-protocol web-testing library for Perl -version = 0.12 +version = 0.13 author = Erik Huelsmann copyright_holder = Erik Huelsmann main_module = lib/Weasel/Driver/Selenium2.pm diff --git a/lib/Weasel/Driver/Selenium2.pm b/lib/Weasel/Driver/Selenium2.pm index af61341..d7718a5 100644 --- a/lib/Weasel/Driver/Selenium2.pm +++ b/lib/Weasel/Driver/Selenium2.pm @@ -393,6 +393,36 @@ sub send_keys { return $self->_resolve_id($element_id)->send_keys(@keys); } +=item key_up($element_id, @keys) + +=cut + +sub key_up { + my ($self, $element_id, @keys) = @_; + + if (defined $element_id) { + return $self->_resolve_id($element_id)->key_up(@keys); + } + else { + return $self->_driver->key_up(@keys); + } +} + +=item key_down($element_id, @keys) + +=cut + +sub key_down { + my ($self, $element_id, @keys) = @_; + + if (defined $element_id) { + return $self->_resolve_id($element_id)->key_down(@keys); + } + else { + return $self->_driver->key_down(@keys); + } +} + =item tag_name($elem) =cut