43e9f39ffbaab49c4cbf43a5eada4ad6333b179f
[WebKit-https.git] / WebDriverTests / imported / w3c / tools / webdriver / webdriver / error.py
1 import collections
2
3
4 class WebDriverException(Exception):
5     http_status = None
6     status_code = None
7
8
9 class ElementNotSelectableException(WebDriverException):
10     http_status = 400
11     status_code = "element not selectable"
12
13
14 class ElementNotVisibleException(WebDriverException):
15     http_status = 400
16     status_code = "element not visible"
17
18
19 class InsecureCertificateException(WebDriverException):
20     http_status = 400
21     status_code = "insecure certificate"
22
23
24 class InvalidArgumentException(WebDriverException):
25     http_status = 400
26     status_code = "invalid argument"
27
28
29 class InvalidCookieDomainException(WebDriverException):
30     http_status = 400
31     status_code = "invalid cookie domain"
32
33
34 class InvalidElementCoordinatesException(WebDriverException):
35     http_status = 400
36     status_code = "invalid element coordinates"
37
38
39 class InvalidElementStateException(WebDriverException):
40     http_status = 400
41     status_code = "invalid cookie domain"
42
43
44 class InvalidSelectorException(WebDriverException):
45     http_status = 400
46     status_code = "invalid selector"
47
48
49 class InvalidSessionIdException(WebDriverException):
50     http_status = 404
51     status_code = "invalid session id"
52
53
54 class JavascriptErrorException(WebDriverException):
55     http_status = 500
56     status_code = "javascript error"
57
58
59 class MoveTargetOutOfBoundsException(WebDriverException):
60     http_status = 500
61     status_code = "move target out of bounds"
62
63
64 class NoSuchAlertException(WebDriverException):
65     http_status = 404
66     status_code = "no such alert"
67
68
69 class NoSuchElementException(WebDriverException):
70     http_status = 404
71     status_code = "no such element"
72
73
74 class NoSuchFrameException(WebDriverException):
75     http_status = 404
76     status_code = "no such frame"
77
78
79 class NoSuchWindowException(WebDriverException):
80     http_status = 404
81     status_code = "no such window"
82
83
84 class ScriptTimeoutException(WebDriverException):
85     http_status = 408
86     status_code = "script timeout"
87
88
89 class SessionNotCreatedException(WebDriverException):
90     http_status = 500
91     status_code = "session not created"
92
93
94 class StaleElementReferenceException(WebDriverException):
95     http_status = 400
96     status_code = "stale element reference"
97
98
99 class TimeoutException(WebDriverException):
100     http_status = 408
101     status_code = "timeout"
102
103
104 class UnableToSetCookieException(WebDriverException):
105     http_status = 500
106     status_code = "unable to set cookie"
107
108
109 class UnexpectedAlertOpenException(WebDriverException):
110     http_status = 500
111     status_code = "unexpected alert open"
112
113
114 class UnknownErrorException(WebDriverException):
115     http_status = 500
116     status_code = "unknown error"
117
118
119 class UnknownCommandException(WebDriverException):
120     http_status = 404
121     status_code = "unknown command"
122
123
124 class UnknownMethodException(WebDriverException):
125     http_status = 405
126     status_code = "unknown method"
127
128
129 class UnsupportedOperationException(WebDriverException):
130     http_status = 500
131     status_code = "unsupported operation"
132
133
134 def get(status_code):
135     """Gets exception from `status_code`, falling back to
136     ``WebDriverException`` if it is not found.
137     """
138     return _errors.get(status_code, WebDriverException)
139
140
141 _errors = collections.defaultdict()
142 for item in locals().values():
143     if type(item) == type and issubclass(item, WebDriverException):
144         _errors[item.status_code] = item