From 0357dc2497e0611accd46748cf0ee6120127cce6 Mon Sep 17 00:00:00 2001 From: Zygimantas Rukas Date: Fri, 25 May 2018 16:54:49 +0300 Subject: [PATCH 1/2] Mozilla firefox geckodriver fix. --- CHANGELOG.md | 3 +++ lib/Remote/RemoteWebDriver.php | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f3088da9..29fbb44f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ This project versioning adheres to [Semantic Versioning](http://semver.org/). --- +### Fixed +- Mozilla firefox geckodriver fix. ([PHPUnit\Framework\Exception] Undefined index: ELEMENT) + ## 1.6.0 - 2018-05-16 ### Added - Connection and request timeouts could be specified also when creating RemoteWebDriver from existing session ID. diff --git a/lib/Remote/RemoteWebDriver.php b/lib/Remote/RemoteWebDriver.php index 1487689ec..3bf23901b 100644 --- a/lib/Remote/RemoteWebDriver.php +++ b/lib/Remote/RemoteWebDriver.php @@ -187,7 +187,7 @@ public function findElement(WebDriverBy $by) $params ); - return $this->newElement($raw_element['ELEMENT']); + return $this->newElement($raw_element['ELEMENT'] ?? $raw_element[\key($raw_element)]); } /** @@ -207,7 +207,7 @@ public function findElements(WebDriverBy $by) $elements = []; foreach ($raw_elements as $raw_element) { - $elements[] = $this->newElement($raw_element['ELEMENT']); + $elements[] = $this->newElement($raw_element['ELEMENT'] ?? $raw_element[\key($raw_element)]); } return $elements; From dc29be2ba9d12f23540d568ceb92db3fc7c0cacd Mon Sep 17 00:00:00 2001 From: Zygimantas Rukas Date: Mon, 28 May 2018 08:37:34 +0300 Subject: [PATCH 2/2] php 5.6 fix --- lib/Remote/RemoteWebDriver.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Remote/RemoteWebDriver.php b/lib/Remote/RemoteWebDriver.php index 3bf23901b..4b935b430 100644 --- a/lib/Remote/RemoteWebDriver.php +++ b/lib/Remote/RemoteWebDriver.php @@ -187,7 +187,9 @@ public function findElement(WebDriverBy $by) $params ); - return $this->newElement($raw_element['ELEMENT'] ?? $raw_element[\key($raw_element)]); + return $this->newElement( + isset($raw_element['ELEMENT']) ? $raw_element['ELEMENT'] : $raw_element[\key($raw_element)] + ); } /** @@ -207,7 +209,9 @@ public function findElements(WebDriverBy $by) $elements = []; foreach ($raw_elements as $raw_element) { - $elements[] = $this->newElement($raw_element['ELEMENT'] ?? $raw_element[\key($raw_element)]); + $elements[] = $this->newElement( + isset($raw_element['ELEMENT']) ? $raw_element['ELEMENT'] : $raw_element[\key($raw_element)] + ); } return $elements;