Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Side by Side Diff: chrome/test/webdriver/commands/webelement_commands.h

Issue 7259019: Move base/values.h into the base namespace. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/test/webdriver/commands/webdriver_command.h ('k') | chrome/test/webdriver/dispatch.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_TEST_WEBDRIVER_COMMANDS_WEBELEMENT_COMMANDS_H_ 5 #ifndef CHROME_TEST_WEBDRIVER_COMMANDS_WEBELEMENT_COMMANDS_H_
6 #define CHROME_TEST_WEBDRIVER_COMMANDS_WEBELEMENT_COMMANDS_H_ 6 #define CHROME_TEST_WEBDRIVER_COMMANDS_WEBELEMENT_COMMANDS_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "chrome/test/webdriver/commands/webdriver_command.h" 11 #include "chrome/test/webdriver/commands/webdriver_command.h"
12 #include "chrome/test/webdriver/web_element_id.h" 12 #include "chrome/test/webdriver/web_element_id.h"
13 13
14 namespace base {
14 class DictionaryValue; 15 class DictionaryValue;
16 }
15 17
16 namespace gfx { 18 namespace gfx {
17 class Point; 19 class Point;
18 } 20 }
19 21
20 namespace webdriver { 22 namespace webdriver {
21 23
22 class Error; 24 class Error;
23 class Response; 25 class Response;
24 26
25 // Handles commands that interact with a web element in the WebDriver REST 27 // Handles commands that interact with a web element in the WebDriver REST
26 // service. 28 // service.
27 class WebElementCommand : public WebDriverCommand { 29 class WebElementCommand : public WebDriverCommand {
28 public: 30 public:
29 WebElementCommand(const std::vector<std::string>& path_segments, 31 WebElementCommand(const std::vector<std::string>& path_segments,
30 const DictionaryValue* const parameters); 32 const base::DictionaryValue* const parameters);
31 virtual ~WebElementCommand(); 33 virtual ~WebElementCommand();
32 34
33 virtual bool Init(Response* const response); 35 virtual bool Init(Response* const response);
34 36
35 protected: 37 protected:
36 const std::vector<std::string>& path_segments_; 38 const std::vector<std::string>& path_segments_;
37 WebElementId element; 39 WebElementId element;
38 40
39 private: 41 private:
40 DISALLOW_COPY_AND_ASSIGN(WebElementCommand); 42 DISALLOW_COPY_AND_ASSIGN(WebElementCommand);
41 }; 43 };
42 44
43 // Retrieves element attributes. 45 // Retrieves element attributes.
44 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/attribute/:name 46 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/attribute/:name
45 class ElementAttributeCommand : public WebElementCommand { 47 class ElementAttributeCommand : public WebElementCommand {
46 public: 48 public:
47 ElementAttributeCommand(const std::vector<std::string>& path_segments, 49 ElementAttributeCommand(const std::vector<std::string>& path_segments,
48 DictionaryValue* parameters); 50 base::DictionaryValue* parameters);
49 virtual ~ElementAttributeCommand(); 51 virtual ~ElementAttributeCommand();
50 52
51 virtual bool DoesGet(); 53 virtual bool DoesGet();
52 virtual void ExecuteGet(Response* const response); 54 virtual void ExecuteGet(Response* const response);
53 55
54 private: 56 private:
55 DISALLOW_COPY_AND_ASSIGN(ElementAttributeCommand); 57 DISALLOW_COPY_AND_ASSIGN(ElementAttributeCommand);
56 }; 58 };
57 59
58 // Clears test input elements. 60 // Clears test input elements.
59 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/clear 61 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/clear
60 class ElementClearCommand : public WebElementCommand { 62 class ElementClearCommand : public WebElementCommand {
61 public: 63 public:
62 ElementClearCommand(const std::vector<std::string>& path_segments, 64 ElementClearCommand(const std::vector<std::string>& path_segments,
63 DictionaryValue* parameters); 65 base::DictionaryValue* parameters);
64 virtual ~ElementClearCommand(); 66 virtual ~ElementClearCommand();
65 67
66 virtual bool DoesPost(); 68 virtual bool DoesPost();
67 virtual void ExecutePost(Response* const response); 69 virtual void ExecutePost(Response* const response);
68 70
69 private: 71 private:
70 DISALLOW_COPY_AND_ASSIGN(ElementClearCommand); 72 DISALLOW_COPY_AND_ASSIGN(ElementClearCommand);
71 }; 73 };
72 74
73 // Retrieves element style properties. 75 // Retrieves element style properties.
74 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/css/:propertyName 76 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/css/:propertyName
75 class ElementCssCommand : public WebElementCommand { 77 class ElementCssCommand : public WebElementCommand {
76 public: 78 public:
77 ElementCssCommand(const std::vector<std::string>& path_segments, 79 ElementCssCommand(const std::vector<std::string>& path_segments,
78 DictionaryValue* parameters); 80 base::DictionaryValue* parameters);
79 virtual ~ElementCssCommand(); 81 virtual ~ElementCssCommand();
80 82
81 virtual bool DoesGet(); 83 virtual bool DoesGet();
82 virtual void ExecuteGet(Response* const response); 84 virtual void ExecuteGet(Response* const response);
83 85
84 private: 86 private:
85 DISALLOW_COPY_AND_ASSIGN(ElementCssCommand); 87 DISALLOW_COPY_AND_ASSIGN(ElementCssCommand);
86 }; 88 };
87 89
88 // Queries whether an element is currently displayed ot the user. 90 // Queries whether an element is currently displayed ot the user.
89 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/displayed 91 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/displayed
90 class ElementDisplayedCommand : public WebElementCommand { 92 class ElementDisplayedCommand : public WebElementCommand {
91 public: 93 public:
92 ElementDisplayedCommand(const std::vector<std::string>& path_segments, 94 ElementDisplayedCommand(const std::vector<std::string>& path_segments,
93 DictionaryValue* parameters); 95 base::DictionaryValue* parameters);
94 virtual ~ElementDisplayedCommand(); 96 virtual ~ElementDisplayedCommand();
95 97
96 virtual bool DoesGet(); 98 virtual bool DoesGet();
97 virtual void ExecuteGet(Response* const response); 99 virtual void ExecuteGet(Response* const response);
98 100
99 private: 101 private:
100 DISALLOW_COPY_AND_ASSIGN(ElementDisplayedCommand); 102 DISALLOW_COPY_AND_ASSIGN(ElementDisplayedCommand);
101 }; 103 };
102 104
103 // Queries whether an element is currently enabled. 105 // Queries whether an element is currently enabled.
104 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/enabled 106 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/enabled
105 class ElementEnabledCommand : public WebElementCommand { 107 class ElementEnabledCommand : public WebElementCommand {
106 public: 108 public:
107 ElementEnabledCommand(const std::vector<std::string>& path_segments, 109 ElementEnabledCommand(const std::vector<std::string>& path_segments,
108 DictionaryValue* parameters); 110 base::DictionaryValue* parameters);
109 virtual ~ElementEnabledCommand(); 111 virtual ~ElementEnabledCommand();
110 112
111 virtual bool DoesGet(); 113 virtual bool DoesGet();
112 virtual void ExecuteGet(Response* const response); 114 virtual void ExecuteGet(Response* const response);
113 115
114 private: 116 private:
115 DISALLOW_COPY_AND_ASSIGN(ElementEnabledCommand); 117 DISALLOW_COPY_AND_ASSIGN(ElementEnabledCommand);
116 }; 118 };
117 119
118 // Queries whether two elements are equal. 120 // Queries whether two elements are equal.
119 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/equals/:other 121 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/equals/:other
120 class ElementEqualsCommand : public WebElementCommand { 122 class ElementEqualsCommand : public WebElementCommand {
121 public: 123 public:
122 ElementEqualsCommand(const std::vector<std::string>& path_segments, 124 ElementEqualsCommand(const std::vector<std::string>& path_segments,
123 DictionaryValue* parameters); 125 base::DictionaryValue* parameters);
124 virtual ~ElementEqualsCommand(); 126 virtual ~ElementEqualsCommand();
125 127
126 virtual bool DoesGet(); 128 virtual bool DoesGet();
127 virtual void ExecuteGet(Response* const response); 129 virtual void ExecuteGet(Response* const response);
128 130
129 private: 131 private:
130 DISALLOW_COPY_AND_ASSIGN(ElementEqualsCommand); 132 DISALLOW_COPY_AND_ASSIGN(ElementEqualsCommand);
131 }; 133 };
132 134
133 // Retrieves the element's location on the page. 135 // Retrieves the element's location on the page.
134 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/location 136 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/location
135 class ElementLocationCommand : public WebElementCommand { 137 class ElementLocationCommand : public WebElementCommand {
136 public: 138 public:
137 ElementLocationCommand(const std::vector<std::string>& path_segments, 139 ElementLocationCommand(const std::vector<std::string>& path_segments,
138 DictionaryValue* parameters); 140 base::DictionaryValue* parameters);
139 virtual ~ElementLocationCommand(); 141 virtual ~ElementLocationCommand();
140 142
141 virtual bool DoesGet(); 143 virtual bool DoesGet();
142 virtual void ExecuteGet(Response* const response); 144 virtual void ExecuteGet(Response* const response);
143 145
144 private: 146 private:
145 DISALLOW_COPY_AND_ASSIGN(ElementLocationCommand); 147 DISALLOW_COPY_AND_ASSIGN(ElementLocationCommand);
146 }; 148 };
147 149
148 // Retrieves the element's location on the page after ensuring it is visible in 150 // Retrieves the element's location on the page after ensuring it is visible in
149 // the current viewport. 151 // the current viewport.
150 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/location_in_view 152 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/location_in_view
151 class ElementLocationInViewCommand : public WebElementCommand { 153 class ElementLocationInViewCommand : public WebElementCommand {
152 public: 154 public:
153 ElementLocationInViewCommand(const std::vector<std::string>& path_segments, 155 ElementLocationInViewCommand(const std::vector<std::string>& path_segments,
154 DictionaryValue* parameters); 156 base::DictionaryValue* parameters);
155 virtual ~ElementLocationInViewCommand(); 157 virtual ~ElementLocationInViewCommand();
156 158
157 virtual bool DoesGet(); 159 virtual bool DoesGet();
158 virtual void ExecuteGet(Response* const response); 160 virtual void ExecuteGet(Response* const response);
159 161
160 private: 162 private:
161 DISALLOW_COPY_AND_ASSIGN(ElementLocationInViewCommand); 163 DISALLOW_COPY_AND_ASSIGN(ElementLocationInViewCommand);
162 }; 164 };
163 165
164 // Queries for an element's tag name. 166 // Queries for an element's tag name.
165 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/name 167 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/name
166 class ElementNameCommand : public WebElementCommand { 168 class ElementNameCommand : public WebElementCommand {
167 public: 169 public:
168 ElementNameCommand(const std::vector<std::string>& path_segments, 170 ElementNameCommand(const std::vector<std::string>& path_segments,
169 DictionaryValue* parameters); 171 base::DictionaryValue* parameters);
170 virtual ~ElementNameCommand(); 172 virtual ~ElementNameCommand();
171 173
172 virtual bool DoesGet(); 174 virtual bool DoesGet();
173 virtual void ExecuteGet(Response* const response); 175 virtual void ExecuteGet(Response* const response);
174 176
175 private: 177 private:
176 DISALLOW_COPY_AND_ASSIGN(ElementNameCommand); 178 DISALLOW_COPY_AND_ASSIGN(ElementNameCommand);
177 }; 179 };
178 180
179 // Handles selecting elements and querying whether they are currently selected. 181 // Handles selecting elements and querying whether they are currently selected.
180 // Queries whether an element is currently enabled. 182 // Queries whether an element is currently enabled.
181 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/selected 183 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/selected
182 class ElementSelectedCommand : public WebElementCommand { 184 class ElementSelectedCommand : public WebElementCommand {
183 public: 185 public:
184 ElementSelectedCommand(const std::vector<std::string>& path_segments, 186 ElementSelectedCommand(const std::vector<std::string>& path_segments,
185 DictionaryValue* parameters); 187 base::DictionaryValue* parameters);
186 virtual ~ElementSelectedCommand(); 188 virtual ~ElementSelectedCommand();
187 189
188 virtual bool DoesGet(); 190 virtual bool DoesGet();
189 virtual bool DoesPost(); 191 virtual bool DoesPost();
190 virtual void ExecuteGet(Response* const response); 192 virtual void ExecuteGet(Response* const response);
191 virtual void ExecutePost(Response* const response); 193 virtual void ExecutePost(Response* const response);
192 194
193 private: 195 private:
194 DISALLOW_COPY_AND_ASSIGN(ElementSelectedCommand); 196 DISALLOW_COPY_AND_ASSIGN(ElementSelectedCommand);
195 }; 197 };
196 198
197 // Queries for an element's size. 199 // Queries for an element's size.
198 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/size 200 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/size
199 class ElementSizeCommand : public WebElementCommand { 201 class ElementSizeCommand : public WebElementCommand {
200 public: 202 public:
201 ElementSizeCommand(const std::vector<std::string>& path_segments, 203 ElementSizeCommand(const std::vector<std::string>& path_segments,
202 DictionaryValue* parameters); 204 base::DictionaryValue* parameters);
203 virtual ~ElementSizeCommand(); 205 virtual ~ElementSizeCommand();
204 206
205 virtual bool DoesGet(); 207 virtual bool DoesGet();
206 virtual void ExecuteGet(Response* const response); 208 virtual void ExecuteGet(Response* const response);
207 209
208 private: 210 private:
209 DISALLOW_COPY_AND_ASSIGN(ElementSizeCommand); 211 DISALLOW_COPY_AND_ASSIGN(ElementSizeCommand);
210 }; 212 };
211 213
212 // Submit's the form containing the target element. 214 // Submit's the form containing the target element.
213 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/submit 215 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/submit
214 class ElementSubmitCommand : public WebElementCommand { 216 class ElementSubmitCommand : public WebElementCommand {
215 public: 217 public:
216 ElementSubmitCommand(const std::vector<std::string>& path_segments, 218 ElementSubmitCommand(const std::vector<std::string>& path_segments,
217 DictionaryValue* parameters); 219 base::DictionaryValue* parameters);
218 virtual ~ElementSubmitCommand(); 220 virtual ~ElementSubmitCommand();
219 221
220 virtual bool DoesPost(); 222 virtual bool DoesPost();
221 virtual void ExecutePost(Response* const response); 223 virtual void ExecutePost(Response* const response);
222 224
223 private: 225 private:
224 DISALLOW_COPY_AND_ASSIGN(ElementSubmitCommand); 226 DISALLOW_COPY_AND_ASSIGN(ElementSubmitCommand);
225 }; 227 };
226 228
227 // Toggle's whether an element is selected. 229 // Toggle's whether an element is selected.
228 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/toggle 230 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/toggle
229 class ElementToggleCommand : public WebElementCommand { 231 class ElementToggleCommand : public WebElementCommand {
230 public: 232 public:
231 ElementToggleCommand(const std::vector<std::string>& path_segments, 233 ElementToggleCommand(const std::vector<std::string>& path_segments,
232 DictionaryValue* parameters); 234 base::DictionaryValue* parameters);
233 virtual ~ElementToggleCommand(); 235 virtual ~ElementToggleCommand();
234 236
235 virtual bool DoesPost(); 237 virtual bool DoesPost();
236 virtual void ExecutePost(Response* const response); 238 virtual void ExecutePost(Response* const response);
237 239
238 private: 240 private:
239 DISALLOW_COPY_AND_ASSIGN(ElementToggleCommand); 241 DISALLOW_COPY_AND_ASSIGN(ElementToggleCommand);
240 }; 242 };
241 243
242 // Sends keys to the specified web element. Also gets the value property of an 244 // Sends keys to the specified web element. Also gets the value property of an
243 // element. 245 // element.
244 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/value 246 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/value
245 class ElementValueCommand : public WebElementCommand { 247 class ElementValueCommand : public WebElementCommand {
246 public: 248 public:
247 ElementValueCommand(const std::vector<std::string>& path_segments, 249 ElementValueCommand(const std::vector<std::string>& path_segments,
248 DictionaryValue* parameters); 250 base::DictionaryValue* parameters);
249 virtual ~ElementValueCommand(); 251 virtual ~ElementValueCommand();
250 252
251 virtual bool DoesGet(); 253 virtual bool DoesGet();
252 virtual bool DoesPost(); 254 virtual bool DoesPost();
253 virtual void ExecuteGet(Response* const response); 255 virtual void ExecuteGet(Response* const response);
254 virtual void ExecutePost(Response* const response); 256 virtual void ExecutePost(Response* const response);
255 257
256 private: 258 private:
257 // Returns whether the element has a given attribute pair. 259 // Returns whether the element has a given attribute pair.
258 Error* HasAttributeWithLowerCaseValueASCII(const std::string& key, 260 Error* HasAttributeWithLowerCaseValueASCII(const std::string& key,
259 const std::string& value, 261 const std::string& value,
260 bool* result) const; 262 bool* result) const;
261 Error* DragAndDropFilePaths() const; 263 Error* DragAndDropFilePaths() const;
262 Error* SendKeys() const; 264 Error* SendKeys() const;
263 265
264 DISALLOW_COPY_AND_ASSIGN(ElementValueCommand); 266 DISALLOW_COPY_AND_ASSIGN(ElementValueCommand);
265 }; 267 };
266 268
267 // Gets the visible text of the specified web element. 269 // Gets the visible text of the specified web element.
268 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/text 270 // http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/e lement/:id/text
269 class ElementTextCommand : public WebElementCommand { 271 class ElementTextCommand : public WebElementCommand {
270 public: 272 public:
271 ElementTextCommand(const std::vector<std::string>& path_segments, 273 ElementTextCommand(const std::vector<std::string>& path_segments,
272 DictionaryValue* parameters); 274 base::DictionaryValue* parameters);
273 virtual ~ElementTextCommand(); 275 virtual ~ElementTextCommand();
274 276
275 virtual bool DoesGet(); 277 virtual bool DoesGet();
276 virtual void ExecuteGet(Response* const response); 278 virtual void ExecuteGet(Response* const response);
277 279
278 private: 280 private:
279 DISALLOW_COPY_AND_ASSIGN(ElementTextCommand); 281 DISALLOW_COPY_AND_ASSIGN(ElementTextCommand);
280 }; 282 };
281 283
282 } // namespace webdriver 284 } // namespace webdriver
283 285
284 #endif // CHROME_TEST_WEBDRIVER_COMMANDS_WEBELEMENT_COMMANDS_H_ 286 #endif // CHROME_TEST_WEBDRIVER_COMMANDS_WEBELEMENT_COMMANDS_H_
OLDNEW
« no previous file with comments | « chrome/test/webdriver/commands/webdriver_command.h ('k') | chrome/test/webdriver/dispatch.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698