Explorar o código

Fixed issue with get_active_element (thanks Robert Mueller!)

  - added tests for get_active_element
  - will add mock recordings for linux and windows before publishing
Gordon Child %!s(int64=14) %!d(string=hai) anos
pai
achega
71c59e39a5

+ 0 - 4
MANIFEST

@@ -14,11 +14,7 @@ t/02-webelement.t
 t/03-spec-coverage.t
 t/04-commands-implemented.t
 t/mock-recordings/01-driver-mock-darwin.json
-t/mock-recordings/01-driver-mock-linux.json
-t/mock-recordings/01-driver-mock-MSWin32.json
 t/mock-recordings/02-webelement-mock-darwin.json
-t/mock-recordings/02-webelement-mock-linux.json
-t/mock-recordings/02-webelement-mock-MSWin32.json
 t/http-server.pl
 t/lib/MockSeleniumWebDriver.pm
 inc/Module/AutoInstall.pm

+ 6 - 1
lib/Selenium/Remote/Driver.pm

@@ -1325,7 +1325,12 @@ sub find_child_elements {
 sub get_active_element {
     my ($self) = @_;
     my $res = { 'command' => 'getActiveElement' };
-    return $self->_execute_command($res);
+    my $ret_data = eval { $self->_execute_command( $res ); };
+    if($@) {
+      carp $@;
+    }
+    return new Selenium::Remote::WebElement($ret_data->{ELEMENT}, $self);
+
 }
 
 # Not yet supported on the server

+ 1 - 0
t/02-webelement.t

@@ -57,6 +57,7 @@ LINK: {
         $driver->get("$website/formPage.html");
         $driver->find_element("//a[\@href='/index.html']")->click;
         pass('Click Link...');
+        isa_ok($driver->get_active_element,"Selenium::Remote::WebElement","get_active_element");
         $ret = $driver->get_title();
         is($ret, 'Hello WebDriver', 'Verify clicked link.');
         $driver->go_back();

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
t/mock-recordings/01-driver-mock-MSWin32.json


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
t/mock-recordings/01-driver-mock-darwin.json


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
t/mock-recordings/01-driver-mock-linux.json


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
t/mock-recordings/02-webelement-mock-MSWin32.json


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
t/mock-recordings/02-webelement-mock-darwin.json


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
t/mock-recordings/02-webelement-mock-linux.json


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio