123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- // Copyright 2004-present Facebook. All Rights Reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- namespace Facebook\WebDriver\Exception;
- use Exception;
- class WebDriverException extends Exception
- {
- private $results;
- /**
- * @param string $message
- * @param mixed $results
- */
- public function __construct($message, $results = null)
- {
- parent::__construct($message);
- $this->results = $results;
- }
- /**
- * @return mixed
- */
- public function getResults()
- {
- return $this->results;
- }
- /**
- * Throw WebDriverExceptions based on WebDriver status code.
- *
- * @param int $status_code
- * @param string $message
- * @param mixed $results
- *
- * @throws ElementNotSelectableException
- * @throws ElementNotVisibleException
- * @throws ExpectedException
- * @throws IMEEngineActivationFailedException
- * @throws IMENotAvailableException
- * @throws IndexOutOfBoundsException
- * @throws InvalidCookieDomainException
- * @throws InvalidCoordinatesException
- * @throws InvalidElementStateException
- * @throws InvalidSelectorException
- * @throws MoveTargetOutOfBoundsException
- * @throws NoAlertOpenException
- * @throws NoCollectionException
- * @throws NoScriptResultException
- * @throws NoStringException
- * @throws NoStringLengthException
- * @throws NoStringWrapperException
- * @throws NoSuchCollectionException
- * @throws NoSuchDocumentException
- * @throws NoSuchDriverException
- * @throws NoSuchElementException
- * @throws NoSuchFrameException
- * @throws NoSuchWindowException
- * @throws NullPointerException
- * @throws ScriptTimeoutException
- * @throws SessionNotCreatedException
- * @throws StaleElementReferenceException
- * @throws TimeOutException
- * @throws UnableToSetCookieException
- * @throws UnexpectedAlertOpenException
- * @throws UnexpectedJavascriptException
- * @throws UnknownCommandException
- * @throws UnknownServerException
- * @throws UnrecognizedExceptionException
- * @throws WebDriverCurlException
- * @throws XPathLookupException
- */
- public static function throwException($status_code, $message, $results)
- {
- switch ($status_code) {
- case 1:
- throw new IndexOutOfBoundsException($message, $results);
- case 2:
- throw new NoCollectionException($message, $results);
- case 3:
- throw new NoStringException($message, $results);
- case 4:
- throw new NoStringLengthException($message, $results);
- case 5:
- throw new NoStringWrapperException($message, $results);
- case 6:
- throw new NoSuchDriverException($message, $results);
- case 7:
- throw new NoSuchElementException($message, $results);
- case 8:
- throw new NoSuchFrameException($message, $results);
- case 9:
- throw new UnknownCommandException($message, $results);
- case 10:
- throw new StaleElementReferenceException($message, $results);
- case 11:
- throw new ElementNotVisibleException($message, $results);
- case 12:
- throw new InvalidElementStateException($message, $results);
- case 13:
- throw new UnknownServerException($message, $results);
- case 14:
- throw new ExpectedException($message, $results);
- case 15:
- throw new ElementNotSelectableException($message, $results);
- case 16:
- throw new NoSuchDocumentException($message, $results);
- case 17:
- throw new UnexpectedJavascriptException($message, $results);
- case 18:
- throw new NoScriptResultException($message, $results);
- case 19:
- throw new XPathLookupException($message, $results);
- case 20:
- throw new NoSuchCollectionException($message, $results);
- case 21:
- throw new TimeOutException($message, $results);
- case 22:
- throw new NullPointerException($message, $results);
- case 23:
- throw new NoSuchWindowException($message, $results);
- case 24:
- throw new InvalidCookieDomainException($message, $results);
- case 25:
- throw new UnableToSetCookieException($message, $results);
- case 26:
- throw new UnexpectedAlertOpenException($message, $results);
- case 27:
- throw new NoAlertOpenException($message, $results);
- case 28:
- throw new ScriptTimeoutException($message, $results);
- case 29:
- throw new InvalidCoordinatesException($message, $results);
- case 30:
- throw new IMENotAvailableException($message, $results);
- case 31:
- throw new IMEEngineActivationFailedException($message, $results);
- case 32:
- throw new InvalidSelectorException($message, $results);
- case 33:
- throw new SessionNotCreatedException($message, $results);
- case 34:
- throw new MoveTargetOutOfBoundsException($message, $results);
- default:
- throw new UnrecognizedExceptionException($message, $results);
- }
- }
- }
|