Hello community,
here is the log from the commit of package perl-Selenium-Remote-Driver for
openSUSE:Factory checked in at 2018-01-30 15:44:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Selenium-Remote-Driver (Old)
and /work/SRC/openSUSE:Factory/.perl-Selenium-Remote-Driver.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Selenium-Remote-Driver"
Tue Jan 30 15:44:30 2018 rev:7 rq:570839 version:1.23
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Selenium-Remote-Driver/perl-Selenium-Remote-Driver.changes
2018-01-24 15:29:42.952574887 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Selenium-Remote-Driver.new/perl-Selenium-Remote-Driver.changes
2018-01-30 15:44:37.853968460 +0100
@@ -1,0 +2,22 @@
+Tue Jan 30 05:59:42 UTC 2018 - [email protected]
+
+- updated to 1.23
+ see /usr/share/doc/packages/perl-Selenium-Remote-Driver/Changes
+
+ 1.23 01-29-2018 TEODESIAN
+ [BUG FIXES]
+ - Fix issue on legacy chrome/driver with get/set window pos by
forcing fallback to JSONWire methods.
+
+-------------------------------------------------------------------
+Mon Jan 29 20:18:27 UTC 2018 - [email protected]
+
+- updated to 1.22
+ see /usr/share/doc/packages/perl-Selenium-Remote-Driver/Changes
+
+ 1.22 01-25-2018 TEODESIAN
+ [BUG FIXES]
+ - Fix issue where is_enabled() polyfill on WD3 servers was checking
the wrong attribute.
+ - Fix issue where Firefox/Chrome capabilities were not correctly
passed
+ - Make some JS polyfill failures non-fatal
+
+-------------------------------------------------------------------
Old:
----
Selenium-Remote-Driver-1.21.tar.gz
New:
----
Selenium-Remote-Driver-1.23.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Selenium-Remote-Driver.spec ++++++
--- /var/tmp/diff_new_pack.ftsTGP/_old 2018-01-30 15:44:38.725927753 +0100
+++ /var/tmp/diff_new_pack.ftsTGP/_new 2018-01-30 15:44:38.729927567 +0100
@@ -17,7 +17,7 @@
Name: perl-Selenium-Remote-Driver
-Version: 1.21
+Version: 1.23
Release: 0
%define cpan_name Selenium-Remote-Driver
Summary: Perl Client for Selenium Remote Driver
++++++ Selenium-Remote-Driver-1.21.tar.gz -> Selenium-Remote-Driver-1.23.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/Changes
new/Selenium-Remote-Driver-1.23/Changes
--- old/Selenium-Remote-Driver-1.21/Changes 2018-01-20 03:21:00.000000000
+0100
+++ new/Selenium-Remote-Driver-1.23/Changes 2018-01-30 02:47:10.000000000
+0100
@@ -1,5 +1,15 @@
Revision history for Selenium-Remote-Driver
+1.23 01-29-2018 TEODESIAN
+ [BUG FIXES]
+ - Fix issue on legacy chrome/driver with get/set window pos by forcing
fallback to JSONWire methods.
+
+1.22 01-25-2018 TEODESIAN
+ [BUG FIXES]
+ - Fix issue where is_enabled() polyfill on WD3 servers was checking
the wrong attribute.
+ - Fix issue where Firefox/Chrome capabilities were not correctly passed
+ - Make some JS polyfill failures non-fatal
+
1.21 01-19-2018 TEODESIAN
[NEW MAINTAINER]
- George S. Baugh (@teodesian on github, TEODESIAN on CPAN) is now the
maintainer.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/META.json
new/Selenium-Remote-Driver-1.23/META.json
--- old/Selenium-Remote-Driver-1.21/META.json 2018-01-20 03:21:00.000000000
+0100
+++ new/Selenium-Remote-Driver-1.23/META.json 2018-01-30 02:47:10.000000000
+0100
@@ -107,123 +107,123 @@
"provides" : {
"Selenium::ActionChains" : {
"file" : "lib/Selenium/ActionChains.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::CanStartBinary" : {
"file" : "lib/Selenium/CanStartBinary.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::CanStartBinary::FindBinary" : {
"file" : "lib/Selenium/CanStartBinary/FindBinary.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::CanStartBinary::ProbePort" : {
"file" : "lib/Selenium/CanStartBinary/ProbePort.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Chrome" : {
"file" : "lib/Selenium/Chrome.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Firefox" : {
"file" : "lib/Selenium/Firefox.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Firefox::Binary" : {
"file" : "lib/Selenium/Firefox/Binary.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Firefox::Profile" : {
"file" : "lib/Selenium/Firefox/Profile.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::InternetExplorer" : {
"file" : "lib/Selenium/InternetExplorer.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::PhantomJS" : {
"file" : "lib/Selenium/PhantomJS.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Commands" : {
"file" : "lib/Selenium/Remote/Commands.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Driver" : {
"file" : "lib/Selenium/Remote/Driver.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Driver::CanSetWebdriverContext" : {
"file" : "lib/Selenium/Remote/Driver/CanSetWebdriverContext.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Driver::Firefox::Profile" : {
"file" : "lib/Selenium/Remote/Driver/Firefox/Profile.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::ErrorHandler" : {
"file" : "lib/Selenium/Remote/ErrorHandler.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Finders" : {
"file" : "lib/Selenium/Remote/Finders.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Mock::Commands" : {
"file" : "lib/Selenium/Remote/Mock/Commands.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Mock::RemoteConnection" : {
"file" : "lib/Selenium/Remote/Mock/RemoteConnection.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::RemoteConnection" : {
"file" : "lib/Selenium/Remote/RemoteConnection.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::Spec" : {
"file" : "lib/Selenium/Remote/Spec.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::WDKeys" : {
"file" : "lib/Selenium/Remote/WDKeys.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Remote::WebElement" : {
"file" : "lib/Selenium/Remote/WebElement.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Selenium::Waiter" : {
"file" : "lib/Selenium/Waiter.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Test::Selenium::Chrome" : {
"file" : "lib/Test/Selenium/Chrome.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Test::Selenium::Firefox" : {
"file" : "lib/Test/Selenium/Firefox.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Test::Selenium::InternetExplorer" : {
"file" : "lib/Test/Selenium/InternetExplorer.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Test::Selenium::PhantomJS" : {
"file" : "lib/Test/Selenium/PhantomJS.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Test::Selenium::Remote::Driver" : {
"file" : "lib/Test/Selenium/Remote/Driver.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Test::Selenium::Remote::Role::DoesTesting" : {
"file" : "lib/Test/Selenium/Remote/Role/DoesTesting.pm",
- "version" : "1.21"
+ "version" : "1.23"
},
"Test::Selenium::Remote::WebElement" : {
"file" : "lib/Test/Selenium/Remote/WebElement.pm",
- "version" : "1.21"
+ "version" : "1.23"
}
},
"release_status" : "stable",
@@ -238,7 +238,7 @@
"web" : "https://github.com/teodesian/Selenium-Remote-Driver"
}
},
- "version" : "1.21",
+ "version" : "1.23",
"x_contributors" : [
"Allen Lew <[email protected]>",
"A.MacLeay <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/META.yml
new/Selenium-Remote-Driver-1.23/META.yml
--- old/Selenium-Remote-Driver-1.21/META.yml 2018-01-20 03:21:00.000000000
+0100
+++ new/Selenium-Remote-Driver-1.23/META.yml 2018-01-30 02:47:10.000000000
+0100
@@ -33,94 +33,94 @@
provides:
Selenium::ActionChains:
file: lib/Selenium/ActionChains.pm
- version: '1.21'
+ version: '1.23'
Selenium::CanStartBinary:
file: lib/Selenium/CanStartBinary.pm
- version: '1.21'
+ version: '1.23'
Selenium::CanStartBinary::FindBinary:
file: lib/Selenium/CanStartBinary/FindBinary.pm
- version: '1.21'
+ version: '1.23'
Selenium::CanStartBinary::ProbePort:
file: lib/Selenium/CanStartBinary/ProbePort.pm
- version: '1.21'
+ version: '1.23'
Selenium::Chrome:
file: lib/Selenium/Chrome.pm
- version: '1.21'
+ version: '1.23'
Selenium::Firefox:
file: lib/Selenium/Firefox.pm
- version: '1.21'
+ version: '1.23'
Selenium::Firefox::Binary:
file: lib/Selenium/Firefox/Binary.pm
- version: '1.21'
+ version: '1.23'
Selenium::Firefox::Profile:
file: lib/Selenium/Firefox/Profile.pm
- version: '1.21'
+ version: '1.23'
Selenium::InternetExplorer:
file: lib/Selenium/InternetExplorer.pm
- version: '1.21'
+ version: '1.23'
Selenium::PhantomJS:
file: lib/Selenium/PhantomJS.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Commands:
file: lib/Selenium/Remote/Commands.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Driver:
file: lib/Selenium/Remote/Driver.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Driver::CanSetWebdriverContext:
file: lib/Selenium/Remote/Driver/CanSetWebdriverContext.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Driver::Firefox::Profile:
file: lib/Selenium/Remote/Driver/Firefox/Profile.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::ErrorHandler:
file: lib/Selenium/Remote/ErrorHandler.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Finders:
file: lib/Selenium/Remote/Finders.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Mock::Commands:
file: lib/Selenium/Remote/Mock/Commands.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Mock::RemoteConnection:
file: lib/Selenium/Remote/Mock/RemoteConnection.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::RemoteConnection:
file: lib/Selenium/Remote/RemoteConnection.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::Spec:
file: lib/Selenium/Remote/Spec.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::WDKeys:
file: lib/Selenium/Remote/WDKeys.pm
- version: '1.21'
+ version: '1.23'
Selenium::Remote::WebElement:
file: lib/Selenium/Remote/WebElement.pm
- version: '1.21'
+ version: '1.23'
Selenium::Waiter:
file: lib/Selenium/Waiter.pm
- version: '1.21'
+ version: '1.23'
Test::Selenium::Chrome:
file: lib/Test/Selenium/Chrome.pm
- version: '1.21'
+ version: '1.23'
Test::Selenium::Firefox:
file: lib/Test/Selenium/Firefox.pm
- version: '1.21'
+ version: '1.23'
Test::Selenium::InternetExplorer:
file: lib/Test/Selenium/InternetExplorer.pm
- version: '1.21'
+ version: '1.23'
Test::Selenium::PhantomJS:
file: lib/Test/Selenium/PhantomJS.pm
- version: '1.21'
+ version: '1.23'
Test::Selenium::Remote::Driver:
file: lib/Test/Selenium/Remote/Driver.pm
- version: '1.21'
+ version: '1.23'
Test::Selenium::Remote::Role::DoesTesting:
file: lib/Test/Selenium/Remote/Role/DoesTesting.pm
- version: '1.21'
+ version: '1.23'
Test::Selenium::Remote::WebElement:
file: lib/Test/Selenium/Remote/WebElement.pm
- version: '1.21'
+ version: '1.23'
requires:
Archive::Zip: '0'
Carp: '0'
@@ -164,7 +164,7 @@
bugtracker: https://github.com/teodesian/Selenium-Remote-Driver/issues
homepage: https://github.com/teodesian/Selenium-Remote-Driver
repository: https://github.com/teodesian/Selenium-Remote-Driver.git
-version: '1.21'
+version: '1.23'
x_contributors:
- 'Allen Lew <[email protected]>'
- 'A.MacLeay <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/Makefile.PL
new/Selenium-Remote-Driver-1.23/Makefile.PL
--- old/Selenium-Remote-Driver-1.21/Makefile.PL 2018-01-20 03:21:00.000000000
+0100
+++ new/Selenium-Remote-Driver-1.23/Makefile.PL 2018-01-30 02:47:10.000000000
+0100
@@ -70,7 +70,7 @@
"Test::Warn" => 0,
"lib" => 0
},
- "VERSION" => "1.21",
+ "VERSION" => "1.23",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/README
new/Selenium-Remote-Driver-1.23/README
--- old/Selenium-Remote-Driver-1.21/README 2018-01-20 03:21:00.000000000
+0100
+++ new/Selenium-Remote-Driver-1.23/README 2018-01-30 02:47:10.000000000
+0100
@@ -1,7 +1,7 @@
This archive contains the distribution Selenium-Remote-Driver,
-version 1.21:
+version 1.23:
Perl Client for Selenium Remote Driver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/at/sanity-chrome.test
new/Selenium-Remote-Driver-1.23/at/sanity-chrome.test
--- old/Selenium-Remote-Driver-1.21/at/sanity-chrome.test 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/at/sanity-chrome.test 2018-01-30
02:47:10.000000000 +0100
@@ -19,6 +19,9 @@
port => 4444,
browser_name => 'chrome',
accept_ssl_certs => 1,
+ extra_capabilities => {
+ args => ['start-maximized'],
+ },
);
isa_ok($driver,'Selenium::Remote::Driver',"Can get new S::R::D with
WebDriver3");
@@ -134,7 +137,7 @@
ok($driver->switch_to_frame(),"can switch to parent frame (WD3 only)");
ok($driver->set_window_position(1,1),"can set window position (WD3)");
-ok($driver->set_window_size(200,200),"can set window size (WD3)");
+ok($driver->set_window_size(640,480),"can set window size (WD3)");
ok($driver->maximize_window(),"can maximize window (WD3)");
SKIP: {
@@ -204,7 +207,10 @@
is( exception { $l2->get_element_location_in_view() }, undef,
"get_element_location_in_view available in gegl krom");
is($driver->find_element('hidon','id')->is_displayed(),0,"is_displayed returns
false for type=hidden elements");
-is($driver->find_element('no-see-em','id')->is_displayed(),0,"is_displayed
returns false for display=none");
+my $gone = $driver->find_element('no-see-em','id');
+is($gone->is_displayed(),0,"is_displayed returns false for display=none");
+is($gone->is_enabled(),1,"is_enabled returns true for non-input elements");
+
is($driver->find_element('h1','tag_name')->get_text(),'Howdy Howdy Howdy',
"get_text works (WD3)");
$driver->find_element('clickme','id')->click();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/at/sanity-edge.test
new/Selenium-Remote-Driver-1.23/at/sanity-edge.test
--- old/Selenium-Remote-Driver-1.21/at/sanity-edge.test 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/at/sanity-edge.test 2018-01-30
02:47:10.000000000 +0100
@@ -216,7 +216,10 @@
is( exception { $l2->get_element_location_in_view() }, undef,
"get_element_location_in_view works");
is($driver->find_element('hidon','id')->is_displayed(),0,"is_displayed returns
false for type=hidden elements");
-is($driver->find_element('no-see-em','id')->is_displayed(),0,"is_displayed
returns false for display=none");
+my $gone = $driver->find_element('no-see-em','id');
+is($gone->is_displayed(),0,"is_displayed returns false for display=none");
+is($gone->is_enabled(),1,"is_enabled returns true for non-input elements");
+
is($driver->find_element('h1','tag_name')->get_text(),'Howdy Howdy Howdy ',
"get_text works (WD3)");
$driver->find_element('clickme','id')->click();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/at/sanity-ie.test
new/Selenium-Remote-Driver-1.23/at/sanity-ie.test
--- old/Selenium-Remote-Driver-1.21/at/sanity-ie.test 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/at/sanity-ie.test 2018-01-30
02:47:10.000000000 +0100
@@ -208,7 +208,10 @@
like( exception { $l2->get_element_location_in_view() }, qr/unknown/,
"get_element_location_in_view works");
is($driver->find_element('hidon','id')->is_displayed(),0,"is_displayed returns
false for type=hidden elements");
-is($driver->find_element('no-see-em','id')->is_displayed(),0,"is_displayed
returns false for display=none");
+my $gone = $driver->find_element('no-see-em','id');
+is($gone->is_displayed(),0,"is_displayed returns false for display=none");
+is($gone->is_enabled(),1,"is_enabled returns true for non-input elements");
+
is($driver->find_element('h1','tag_name')->get_text(),'Howdy Howdy Howdy',
"get_text works (WD3)");
$driver->find_element('clickme','id')->click();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/at/sanity.test
new/Selenium-Remote-Driver-1.23/at/sanity.test
--- old/Selenium-Remote-Driver-1.21/at/sanity.test 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/at/sanity.test 2018-01-30
02:47:10.000000000 +0100
@@ -14,11 +14,15 @@
#TODO: cover new_from_caps
#TODO: Selenium::Firefox::Profile usage
+$Selenium::Remote::Driver::FORCE_WD3 = 1;
my $driver = Selenium::Remote::Driver->new(
remote_server_addr => 'localhost',
port => 4444,
browser_name => 'firefox',
accept_ssl_certs => 1,
+ extra_capabilities => {
+ log => { level => 'trace' },
+ },
);
isa_ok($driver,'Selenium::Remote::Driver',"Can get new S::R::D with
WebDriver3");
@@ -73,16 +77,12 @@
my $otherloc = abs_path("$FindBin::Bin/other.html");
$driver->get("file://$otherloc");
$driver->go_back();
-$driver->dismiss_alert();
-$driver->dismiss_alert();
like($driver->get_title(),qr/test/i,"go_back works (WD3)");
$driver->go_forward();
like($driver->get_page_source(),qr/ZIPPY/,"go_forward & get_page_source works
(WD3)");
is(exception { $driver->refresh() }, undef, "refresh works (WD3)");
$driver->go_back();
-$driver->dismiss_alert();
-$driver->dismiss_alert();
#TODO execute_*_script testing
@@ -133,10 +133,13 @@
ok($driver->switch_to_frame(),"can switch to parent frame (WD3 only)");
ok($driver->set_window_position(1,1),"can set window position (WD3)");
-ok($driver->set_window_size(200,200),"can set window size (WD3)");
+ok($driver->set_window_size(640,480),"can set window size (WD3)");
-ok($driver->maximize_window(),"can maximize window (WD3)");
-ok($driver->minimize_window(),"can minimize window (WD3 only)");
+SKIP: {
+ skip(2, "maxi/mini not working right now?");
+ ok($driver->maximize_window(),"can maximize window (WD3)");
+ ok($driver->minimize_window(),"can minimize window (WD3 only)");
+}
ok($driver->fullscreen_window(),"can fullscreen window (WD3 only)");
is(scalar(@{$driver->get_all_cookies()}),1,"can get cookie list (WD3)");
@@ -193,7 +196,10 @@
ok( defined $l2->get_element_location_in_view()->{x},
"get_element_location_in_view polyfill works (WD3)");
is($driver->find_element('hidon','id')->is_displayed(),0,"is_displayed returns
false for type=hidden elements");
-is($driver->find_element('no-see-em','id')->is_displayed(),0,"is_displayed
returns false for display=none");
+my $gone = $driver->find_element('no-see-em','id');
+is($gone->is_displayed(),0,"is_displayed returns false for display=none");
+is($gone->is_enabled(),1,"is_enabled returns true for non-input elements");
+
is($driver->find_element('h1','tag_name')->get_text(),'Howdy Howdy Howdy',
"get_text works (WD3)");
$driver->find_element('clickme','id')->click();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/dist.ini
new/Selenium-Remote-Driver-1.23/dist.ini
--- old/Selenium-Remote-Driver-1.21/dist.ini 2018-01-20 03:21:00.000000000
+0100
+++ new/Selenium-Remote-Driver-1.23/dist.ini 2018-01-30 02:47:10.000000000
+0100
@@ -1,5 +1,5 @@
name = Selenium-Remote-Driver
-version = 1.21
+version = 1.23
author = George S. Baugh <[email protected]>
author = Aditya Ivaturi <[email protected]>
author = Daniel Gempesaw <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/ActionChains.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/ActionChains.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/ActionChains.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/ActionChains.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::ActionChains;
-$Selenium::ActionChains::VERSION = '1.21';
+$Selenium::ActionChains::VERSION = '1.23';
use strict;
use warnings;
@@ -169,7 +169,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/CanStartBinary/FindBinary.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/CanStartBinary/FindBinary.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/CanStartBinary/FindBinary.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/CanStartBinary/FindBinary.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::CanStartBinary::FindBinary;
-$Selenium::CanStartBinary::FindBinary::VERSION = '1.21';
+$Selenium::CanStartBinary::FindBinary::VERSION = '1.23';
use strict;
use warnings;
@@ -84,7 +84,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=for Pod::Coverage *EVERYTHING*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/CanStartBinary/ProbePort.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/CanStartBinary/ProbePort.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/CanStartBinary/ProbePort.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/CanStartBinary/ProbePort.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::CanStartBinary::ProbePort;
-$Selenium::CanStartBinary::ProbePort::VERSION = '1.21';
+$Selenium::CanStartBinary::ProbePort::VERSION = '1.23';
use strict;
use warnings;
@@ -57,7 +57,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=for Pod::Coverage *EVERYTHING*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/CanStartBinary.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/CanStartBinary.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/CanStartBinary.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/CanStartBinary.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::CanStartBinary;
-$Selenium::CanStartBinary::VERSION = '1.21';
+$Selenium::CanStartBinary::VERSION = '1.23';
use strict;
use warnings;
@@ -346,7 +346,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/lib/Selenium/Chrome.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Chrome.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Chrome.pm 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Chrome.pm 2018-01-30
02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Chrome;
-$Selenium::Chrome::VERSION = '1.21';
+$Selenium::Chrome::VERSION = '1.23';
use strict;
use warnings;
@@ -57,7 +57,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Firefox/Binary.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Firefox/Binary.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Firefox/Binary.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Firefox/Binary.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Firefox::Binary;
-$Selenium::Firefox::Binary::VERSION = '1.21';
+$Selenium::Firefox::Binary::VERSION = '1.23';
use strict;
use warnings;
@@ -120,7 +120,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SUBROUTINES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Firefox/Profile.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Firefox/Profile.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Firefox/Profile.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Firefox/Profile.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Firefox::Profile;
-$Selenium::Firefox::Profile::VERSION = '1.21';
+$Selenium::Firefox::Profile::VERSION = '1.23';
# ABSTRACT: Use custom profiles with Selenium::Remote::Driver
# TODO: convert this to Moo!
@@ -264,7 +264,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/lib/Selenium/Firefox.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Firefox.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Firefox.pm 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Firefox.pm 2018-01-30
02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Firefox;
-$Selenium::Firefox::VERSION = '1.21';
+$Selenium::Firefox::VERSION = '1.23';
use strict;
use warnings;
@@ -134,7 +134,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/InternetExplorer.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/InternetExplorer.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/InternetExplorer.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/InternetExplorer.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::InternetExplorer;
-$Selenium::InternetExplorer::VERSION = '1.21';
+$Selenium::InternetExplorer::VERSION = '1.23';
use strict;
use warnings;
@@ -33,7 +33,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/PhantomJS.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/PhantomJS.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/PhantomJS.pm 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/PhantomJS.pm 2018-01-30
02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::PhantomJS;
-$Selenium::PhantomJS::VERSION = '1.21';
+$Selenium::PhantomJS::VERSION = '1.23';
use strict;
use warnings;
@@ -54,7 +54,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Commands.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Commands.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Commands.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Commands.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Commands;
-$Selenium::Remote::Commands::VERSION = '1.21';
+$Selenium::Remote::Commands::VERSION = '1.23';
use strict;
use warnings;
@@ -520,7 +520,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Driver/CanSetWebdriverContext.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Driver/CanSetWebdriverContext.pm
---
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Driver/CanSetWebdriverContext.pm
2018-01-20 03:21:00.000000000 +0100
+++
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Driver/CanSetWebdriverContext.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Driver::CanSetWebdriverContext;
-$Selenium::Remote::Driver::CanSetWebdriverContext::VERSION = '1.21';
+$Selenium::Remote::Driver::CanSetWebdriverContext::VERSION = '1.23';
# ABSTRACT: Customize the webdriver context prefix for various drivers
use strict;
@@ -27,7 +27,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Driver/Firefox/Profile.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Driver/Firefox/Profile.pm
---
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Driver/Firefox/Profile.pm
2018-01-20 03:21:00.000000000 +0100
+++
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Driver/Firefox/Profile.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Driver::Firefox::Profile;
-$Selenium::Remote::Driver::Firefox::Profile::VERSION = '1.21';
+$Selenium::Remote::Driver::Firefox::Profile::VERSION = '1.23';
# ABSTRACT: Use custom profiles with Selenium::Remote::Driver
use strict;
use warnings;
@@ -25,7 +25,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Driver.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Driver.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Driver.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Driver.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Driver;
-$Selenium::Remote::Driver::VERSION = '1.21';
+$Selenium::Remote::Driver::VERSION = '1.23';
use strict;
use warnings;
@@ -48,6 +48,7 @@
};
our $FORCE_WD2 = 0;
+our $FORCE_WD3 = 0;
our %CURRENT_ACTION_CHAIN = ( actions => [] );
@@ -398,14 +399,16 @@
$extra_capabilities ||= {};
my $args = {
'desiredCapabilities' => {
- 'browserName' => $self->browser_name,
- 'platform' => $self->platform,
- 'javascriptEnabled' => $self->javascript,
- 'version' => $self->version,
- 'acceptSslCerts' => $self->accept_ssl_certs,
+ 'browserName' => $self->browser_name,
+ 'platform' => $self->platform,
+ 'javascriptEnabled' => $self->javascript,
+ 'version' => $self->version,
+ 'acceptSslCerts' => $self->accept_ssl_certs,
%$extra_capabilities,
},
};
+ $args->{'extra_capabilities'} = \%$extra_capabilities unless $FORCE_WD2;
+
if ( defined $self->proxy ) {
$args->{desiredCapabilities}->{proxy} = $self->proxy;
@@ -438,11 +441,13 @@
foreach my $cap (keys(%{$args->{capabilities}->{alwaysMatch} })) {
#Handle browser specific capabilities
if (exists($args->{desiredCapabilities}->{browserName}) && $cap eq
'extra_capabilities') {
+
if (exists
$args->{capabilities}->{alwaysMatch}->{'moz:firefoxOptions'}->{args}) {
$args->{capabilities}->{alwaysMatch}->{$cap}->{args} =
$args->{capabilities}->{alwaysMatch}->{'moz:firefoxOptions'}->{args};
}
$args->{capabilities}->{alwaysMatch}->{'moz:firefoxOptions'} =
$args->{capabilities}->{alwaysMatch}->{$cap} if
$args->{desiredCapabilities}->{browserName} eq 'firefox';
- $args->{capabilities}->{alwaysMatch}->{'chromeOptions'} =
$args->{capabilities}->{alwaysMatch}->{$cap} if
$args->{desiredCapabilities}->{browserName} eq 'chrome';
+ #XXX the chrome documentation is lies, you can't do this yet
+ #$args->{capabilities}->{alwaysMatch}->{'chromeOptions'} =
$args->{capabilities}->{alwaysMatch}->{$cap} if
$args->{desiredCapabilities}->{browserName} eq 'chrome';
#Does not appear there are any MSIE based options, so let's just
let that be
}
if (exists($args->{desiredCapabilities}->{browserName}) &&
$args->{desiredCapabilities}->{browserName} eq 'firefox' && $cap eq
'firefox_profile') {
@@ -464,6 +469,7 @@
}
delete $args->{capabilities}->{alwaysMatch}->{$cap} if !any { $_ eq
$cap } @$caps;
}
+ delete $args->{desiredCapabilities} if $FORCE_WD3; #XXX fork
working-around busted fallback in firefox
delete $args->{capabilities} if $FORCE_WD2; #XXX 'secret' feature to help
the legacy unit tests to work
# geckodriver has not yet implemented the GET /status endpoint
@@ -784,6 +790,7 @@
my ( $self, $window ) = @_;
$window = ( defined $window ) ? $window : 'current';
my $res = { 'command' => 'getWindowSize', 'window_handle' => $window };
+ $res = {'command' => 'getWindowRect', handle => $window } if
$self->{is_wd3} && $self->browser_name ne 'chrome';
return $self->_execute_command($res);
}
@@ -792,6 +799,7 @@
my ( $self, $window ) = @_;
$window = ( defined $window ) ? $window : 'current';
my $res = { 'command' => 'getWindowPosition', 'window_handle' => $window };
+ $res = {'command' => 'getWindowRect', handle => $window } if
$self->{is_wd3} && $self->browser_name ne 'chrome';
return $self->_execute_command($res);
}
@@ -873,6 +881,7 @@
{
if ($self->{is_wd3}) {
$args[$i] = { 'element-6066-11e4-a52e-4f735466cecf' => (
$args[$i] )->{id} };
+ $args[$i]->{ELEMENT} = $args[$i]->{id} if
$self->browser_name eq 'chrome'; #XXX sometimes they prefer the latter/prior
} else {
$args[$i] = { 'ELEMENT' => ( $args[$i] )->{id} };
}
@@ -916,6 +925,7 @@
{
if ($self->{is_wd3}) {
$args[$i] = { 'element-6066-11e4-a52e-4f735466cecf' => (
$args[$i] )->{id} };
+ $args[$i]->{ELEMENT} = $args[$i]->{id} if
$self->browser_name eq 'chrome'; #XXX sometimes they prefer the latter/prior
} else {
$args[$i] = { 'ELEMENT' => ( $args[$i] )->{id} };
}
@@ -1054,6 +1064,9 @@
}
my $res = { 'command' => 'setWindowPosition', 'window_handle' => $window };
my $params = { 'x' => $x, 'y' => $y };
+ if ( $self->{is_wd3} && $self->browser_name ne 'chrome') {
+ $res = {'command' => 'setWindowRect', handle => $window };
+ }
my $ret = $self->_execute_command( $res, $params );
return $ret ? 1 : 0;
}
@@ -1069,6 +1082,9 @@
$width += 0;
my $res = { 'command' => 'setWindowSize', 'window_handle' => $window };
my $params = { 'height' => $height, 'width' => $width };
+ if ( $self->{is_wd3} && $self->browser_name ne 'chrome') {
+ $res = {'command' => 'setWindowRect', handle => $window };
+ }
my $ret = $self->_execute_command( $res, $params );
return $ret ? 1 : 0;
}
@@ -1713,7 +1729,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
@@ -1846,6 +1862,14 @@
=head1 WC3 WEBDRIVER COMPATIBILITY
WC3 Webdriver is a constantly evolving standard, so some things may or may not
work at any given time.
+
+Furthermore, out of date drivers probably identify as WD3, while only
implementing a few methods and retaining JSONWire functionality.
+One way of dealing with this is setting:
+
+ $driver->{is_wd3} = 0
+
+Of course, this will prevent access of any new WC3 methods, but will probably
make your tests pass until your browser's driver gets it's act together.
+
That said, the following 'sanity tests' in the at/ (acceptance test) directory
of the module passed on the following versions:
=over 4
@@ -1875,6 +1899,24 @@
There is also a 'legacy.test' file available to run against old
browsers/selenium (2.x servers, pre geckodriver).
This should only be used to verify backwards-compatibility has not been broken.
+=head2 Firefox Notes
+
+If you are intending to pass extra_capabilities to firefox on a WD3 enabled
server with geckodriver, you MUST do the following:
+
+ $Selenium::Remote::Driver::FORCE_WD3=1;
+
+This is because the gecko driver prefers legacy capabilities, both of which
are normally passed for compatibility reasons.
+
+=head2 Chrome Notes
+
+extra_capabilities may? not work, because chromedriver considers the
chromeOptions parameter to be invalid, despite it's documentation here:
+
+ https://sites.google.com/a/chromium.org/chromedriver/capabilities
+
+Other bindings get around this by just using the 'old' way of passing desired
capabilities. You can do this too like so:
+
+ $Selenium::Remote::Driver::FORCE_WD2=1;
+
=head1 CONSTRUCTOR
=head2 new
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/ErrorHandler.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/ErrorHandler.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/ErrorHandler.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/ErrorHandler.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::ErrorHandler;
-$Selenium::Remote::ErrorHandler::VERSION = '1.21';
+$Selenium::Remote::ErrorHandler::VERSION = '1.23';
use strict;
use warnings;
@@ -148,7 +148,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SUBROUTINES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Finders.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Finders.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Finders.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Finders.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Finders;
-$Selenium::Remote::Finders::VERSION = '1.21';
+$Selenium::Remote::Finders::VERSION = '1.23';
use strict;
use warnings;
@@ -41,7 +41,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Mock/Commands.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Mock/Commands.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Mock/Commands.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Mock/Commands.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Mock::Commands;
-$Selenium::Remote::Mock::Commands::VERSION = '1.21';
+$Selenium::Remote::Mock::Commands::VERSION = '1.23';
# ABSTRACT: utility class to mock Selenium::Remote::Commands
use strict;
@@ -51,7 +51,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Mock/RemoteConnection.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Mock/RemoteConnection.pm
---
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Mock/RemoteConnection.pm
2018-01-20 03:21:00.000000000 +0100
+++
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Mock/RemoteConnection.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Mock::RemoteConnection;
-$Selenium::Remote::Mock::RemoteConnection::VERSION = '1.21';
+$Selenium::Remote::Mock::RemoteConnection::VERSION = '1.23';
# ABSTRACT: utility class to mock the responses from Selenium server
use strict;
@@ -182,7 +182,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/RemoteConnection.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/RemoteConnection.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/RemoteConnection.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/RemoteConnection.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::RemoteConnection;
-$Selenium::Remote::RemoteConnection::VERSION = '1.21';
+$Selenium::Remote::RemoteConnection::VERSION = '1.23';
use strict;
use warnings;
@@ -223,7 +223,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Spec.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Spec.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/Spec.pm 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/Spec.pm 2018-01-30
02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::Spec;
-$Selenium::Remote::Spec::VERSION = '1.21';
+$Selenium::Remote::Spec::VERSION = '1.23';
use strict;
use warnings;
@@ -37,10 +37,8 @@
GET session/:sessionId/window/handles 0
getWindowHandles Get Window Handles
POST session/:sessionId/frame 1 switchToFrame
Switch To Frame
POST session/:sessionId/frame/parent 1
switchToParentFrame Switch To Parent Frame
-GET session/:sessionId/window/rect 0 getWindowSize
Get Window Size (v2->v3 shim)
-GET session/:sessionId/window/rect 0
getWindowPosition Get Window Position (v2->v3 shim)
-POST session/:sessionId/window/rect 1 setWindowSize
Set Window Size (v2->v3 shim)
-POST session/:sessionId/window/rect 1
setWindowPosition Set Window Position (v2->v3 shim)
+GET session/:sessionId/window/rect 0 getWindowRect
Get Window Size/Position (v2->v3 shim)
+POST session/:sessionId/window/rect 1 setWindowRect
Set Window Size/Position (v2->v3 shim)
POST session/:sessionId/window/maximize 1 maximizeWindow
Maximize Window
POST session/:sessionId/window/minimize 1 minimizeWindow
Minimize Window
POST session/:sessionId/window/fullscreen 1
fullscreenWindow Fullscreen Window
@@ -189,7 +187,7 @@
$data->{payload}->{type} = 'implicit'; #XXX chrome doesn't follow
the spec
}
$data->{payload}->{value} = $args->{text} if $args->{text} &&
$args->{command} ne 'sendKeysToElement';
- $data->{payload}->{handle} = $args->{window_handle} if grep {
$args->{command} eq $_ } qw{setWindowSize getWindowSize setWindowPosition
getWindowPosition fullscreenWindow minimizeWindow maximizeWindow};
+ $data->{payload}->{handle} = $args->{window_handle} if grep {
$args->{command} eq $_ } qw{fullscreenWindow minimizeWindow maximizeWindow};
return $data;
}
@@ -241,7 +239,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/WDKeys.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/WDKeys.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/WDKeys.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/WDKeys.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::WDKeys;
-$Selenium::Remote::WDKeys::VERSION = '1.21';
+$Selenium::Remote::WDKeys::VERSION = '1.23';
# ABSTRACT: Representation of keystrokes used by Selenium::Remote::WebDriver
@@ -85,7 +85,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/WebElement.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/WebElement.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Remote/WebElement.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Remote/WebElement.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Remote::WebElement;
-$Selenium::Remote::WebElement::VERSION = '1.21';
+$Selenium::Remote::WebElement::VERSION = '1.23';
# ABSTRACT: Representation of an HTML Element used by Selenium Remote Driver
use strict;
@@ -54,7 +54,7 @@
sub submit {
my ($self) = @_;
- return $self->driver->execute_script("return arguments[0].submit();",
{'element-6066-11e4-a52e-4f735466cecf'=> $self->{id}} ) if
$self->driver->{is_wd3} && !(grep { $self->driver->browser_name eq $_ }
qw{chrome MicrosoftEdge});
+ return $self->driver->execute_script("if (typeof arguments[0].submit ===
'function') { return arguments[0].submit(); }; return 0;",
{'element-6066-11e4-a52e-4f735466cecf'=> $self->{id}} ) if
$self->driver->{is_wd3} && !(grep { $self->driver->browser_name eq $_ }
qw{chrome MicrosoftEdge});
my $res = { 'command' => 'submitElement', 'id' => $self->id };
return $self->_execute_command($res);
}
@@ -112,7 +112,10 @@
sub is_enabled {
my ($self) = @_;
- return $self->get_property('enabled') ? 1 : 0 if $self->driver->{is_wd3}
&& !(grep { $self->driver->browser_name eq $_ } qw{chrome MicrosoftEdge});
+ if ($self->driver->{is_wd3} && !(grep { $self->driver->browser_name eq $_
} qw{chrome MicrosoftEdge})) {
+ return 1 if $self->get_tag_name() ne 'input';
+ return $self->get_property('disabled') ? 0 : 1;
+ }
my $res = { 'command' => 'isElementEnabled', 'id' => $self->id };
return $self->_execute_command($res);
}
@@ -154,10 +157,14 @@
sub get_element_location_in_view {
my ($self) = @_;
+ #XXX chrome is dopey here
return $self->driver->execute_script(qq{
- arguments[0].scrollIntoView();
- var pos = arguments[0].getBoundingClientRect();
- return {y:pos.top,x:pos.left};
+ if (typeof(arguments[0]) !== 'undefined' && arguments[0].nodeType ===
Node.ELEMENT_NODE) {
+ arguments[0].scrollIntoView();
+ var pos = arguments[0].getBoundingClientRect();
+ return {y:pos.top,x:pos.left};
+ }
+ return {};
}, {'element-6066-11e4-a52e-4f735466cecf'=> $self->{id}} ) if
$self->driver->{is_wd3} && grep { $self->driver->browser_name eq $_ }
('firefox','internet explorer');
my $res = { 'command' => 'getElementLocationInView', 'id' => $self->id };
return $self->_execute_command($res);
@@ -298,7 +305,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 DESCRIPTION
@@ -380,6 +387,10 @@
Submit a FORM element. The submit command may also be applied to any
element
that is a descendant of a FORM element.
+ Compatibility:
+ On webdriver3 enabled servers, this uses a JS shim, which may not submit
correctly depending on the element you are attempting to submit.
+ Try clicking it if possible instead.
+
Usage:
$elem->submit();
@@ -502,7 +513,9 @@
determine an element's location for correctly generating native events.
Compatibility:
- Not available on WebDriver3 enabled selenium servers.
+ On Webdriver3 servers, we have to implement this with a JS shim.
+ This means in some contexts, you won't get any position returned, as the
element isn't considered an element internally.
+ You may have to go up the element stack to find the element that actually
has the bounding box.
Output:
{x:number, y:number} The X and Y coordinates for the element on the page.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/lib/Selenium/Waiter.pm
new/Selenium-Remote-Driver-1.23/lib/Selenium/Waiter.pm
--- old/Selenium-Remote-Driver-1.21/lib/Selenium/Waiter.pm 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Selenium/Waiter.pm 2018-01-30
02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Selenium::Waiter;
-$Selenium::Waiter::VERSION = '1.21';
+$Selenium::Waiter::VERSION = '1.23';
use strict;
use warnings;
@@ -65,7 +65,7 @@
=head1 VERSION
-version 1.21
+version 1.23
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Chrome.pm
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Chrome.pm
--- old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Chrome.pm 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Chrome.pm 2018-01-30
02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Test::Selenium::Chrome;
-$Test::Selenium::Chrome::VERSION = '1.21';
+$Test::Selenium::Chrome::VERSION = '1.23';
use Moo;
extends 'Selenium::Chrome', 'Test::Selenium::Remote::Driver';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Firefox.pm
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Firefox.pm
--- old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Firefox.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Firefox.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Test::Selenium::Firefox;
-$Test::Selenium::Firefox::VERSION = '1.21';
+$Test::Selenium::Firefox::VERSION = '1.23';
use Moo;
extends 'Selenium::Firefox', 'Test::Selenium::Remote::Driver';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/InternetExplorer.pm
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/InternetExplorer.pm
--- old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/InternetExplorer.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/InternetExplorer.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Test::Selenium::InternetExplorer;
-$Test::Selenium::InternetExplorer::VERSION = '1.21';
+$Test::Selenium::InternetExplorer::VERSION = '1.23';
use Moo;
extends 'Selenium::InternetExplorer', 'Test::Selenium::Remote::Driver';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/PhantomJS.pm
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/PhantomJS.pm
--- old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/PhantomJS.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/PhantomJS.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Test::Selenium::PhantomJS;
-$Test::Selenium::PhantomJS::VERSION = '1.21';
+$Test::Selenium::PhantomJS::VERSION = '1.23';
use Moo;
extends 'Selenium::PhantomJS', 'Test::Selenium::Remote::Driver';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Remote/Driver.pm
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Remote/Driver.pm
--- old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Remote/Driver.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Remote/Driver.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,5 +1,5 @@
package Test::Selenium::Remote::Driver;
-$Test::Selenium::Remote::Driver::VERSION = '1.21';
+$Test::Selenium::Remote::Driver::VERSION = '1.23';
# ABSTRACT: Useful testing subclass for Selenium::Remote::Driver
use Moo;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Remote/Role/DoesTesting.pm
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Remote/Role/DoesTesting.pm
---
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Remote/Role/DoesTesting.pm
2018-01-20 03:21:00.000000000 +0100
+++
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Remote/Role/DoesTesting.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,7 +1,7 @@
package Test::Selenium::Remote::Role::DoesTesting;
# ABSTRACT: Role to cope with everything that is related to testing (could
# be reused in both testing classes)
-$Test::Selenium::Remote::Role::DoesTesting::VERSION = '1.21';
+$Test::Selenium::Remote::Role::DoesTesting::VERSION = '1.23';
use Moo::Role;
use Test::Builder;
use Try::Tiny;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Remote/WebElement.pm
new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Remote/WebElement.pm
--- old/Selenium-Remote-Driver-1.21/lib/Test/Selenium/Remote/WebElement.pm
2018-01-20 03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/lib/Test/Selenium/Remote/WebElement.pm
2018-01-30 02:47:10.000000000 +0100
@@ -1,6 +1,6 @@
package Test::Selenium::Remote::WebElement;
# ABSTRACT: A sub-class of L<Selenium::Remote::WebElement>, with several
test-specific method additions.
-$Test::Selenium::Remote::WebElement::VERSION = '1.21';
+$Test::Selenium::Remote::WebElement::VERSION = '1.23';
use Moo;
use Sub::Install;
extends 'Selenium::Remote::WebElement';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Selenium-Remote-Driver-1.21/t/01-webdriver3.t
new/Selenium-Remote-Driver-1.23/t/01-webdriver3.t
--- old/Selenium-Remote-Driver-1.21/t/01-webdriver3.t 2018-01-20
03:21:00.000000000 +0100
+++ new/Selenium-Remote-Driver-1.23/t/01-webdriver3.t 2018-01-30
02:47:10.000000000 +0100
@@ -93,9 +93,9 @@
is($self->{capabilities},'eee',"Caps set correctly in wd3 mode");
is_deeply($args_modified->{capabilities},$expected,"Desired capabilities
correctly translated to Firefox (WD3)");
- $expected->{alwaysMatch}->{'chromeOptions'} =
$expected->{alwaysMatch}->{'moz:firefoxOptions'};
+ #$expected->{alwaysMatch}->{'chromeOptions'} =
$expected->{alwaysMatch}->{'moz:firefoxOptions'};
$expected->{alwaysMatch}->{'moz:firefoxOptions'} = {};
- $expected->{alwaysMatch}->{chromeOptions}->{args} = ['-profile',
'~/.mozilla/firefox/vbdgri9o.default'];
+ #$expected->{alwaysMatch}->{chromeOptions}->{args} = ['-profile',
'~/.mozilla/firefox/vbdgri9o.default'];
$expected->{alwaysMatch}->{browserName} = 'chrome';
$args->{desiredCapabilities}->{browserName} = 'chrome';
@@ -109,7 +109,7 @@
#_execute_command with payload 'hitting all the right buttons'
#also check that fallback works w/ the right special missing word
#also check capability shortcut
- my $self = bless({ is_wd3 => 1, capabilities => 'wakka wakka'
},"Selenium::Remote::Driver");
+ my $self = bless({ is_wd3 => 1, capabilities => 'wakka wakka',
browser_name => 'firefox' },"Selenium::Remote::Driver");
no warnings qw{redefine once};
local *Selenium::Remote::RemoteConnection::request = sub {return {
sessionId => 'zippy', cmd_status => 'OK' }};
@@ -186,7 +186,7 @@
property_name => 'plan',
other => 'a canal',
window_handle => 'panama',
- command => 'setWindowSize',
+ command => 'fullscreenWindow',
ms => 666,
type => 'page load',
using => 'id',
@@ -204,6 +204,7 @@
'value' => 'zippy',
},
};
+
is_deeply($obj->get_params($args),$expected,"get_params: var substitution
works, payload construction works (mostly)");
$args->{type} = 'implicit';