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

Side by Side Diff: chrome/test/automated_ui_tests/automated_ui_test_test.cc

Issue 149281: Sprinkle some defensiveness into the UI tests so that they don't explode if t... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "chrome/app/chrome_dll_resource.h" 5 #include "chrome/app/chrome_dll_resource.h"
6 #include "chrome/test/automated_ui_tests/automated_ui_test_base.h" 6 #include "chrome/test/automated_ui_tests/automated_ui_test_base.h"
7 #include "chrome/test/automation/browser_proxy.h" 7 #include "chrome/test/automation/browser_proxy.h"
8 #include "chrome/test/automation/tab_proxy.h" 8 #include "chrome/test/automation/tab_proxy.h"
9 #include "chrome/test/ui/ui_test.h" 9 #include "chrome/test/ui/ui_test.h"
10 #include "googleurl/src/gurl.h" 10 #include "googleurl/src/gurl.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 ASSERT_EQ(1, tab_count); 70 ASSERT_EQ(1, tab_count);
71 RestoreTab(); 71 RestoreTab();
72 active_browser()->GetTabCount(&tab_count); 72 active_browser()->GetTabCount(&tab_count);
73 ASSERT_EQ(2, tab_count); 73 ASSERT_EQ(2, tab_count);
74 } 74 }
75 75
76 TEST_F(AutomatedUITestBase, MAYBE_CloseTab) { 76 TEST_F(AutomatedUITestBase, MAYBE_CloseTab) {
77 int num_browser_windows; 77 int num_browser_windows;
78 int tab_count; 78 int tab_count;
79 NewTab(); 79 NewTab();
80 automation()->GetBrowserWindowCount(&num_browser_windows); 80 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
81 ASSERT_EQ(1, num_browser_windows); 81 ASSERT_EQ(1, num_browser_windows);
82 active_browser()->GetTabCount(&tab_count); 82 active_browser()->GetTabCount(&tab_count);
83 ASSERT_EQ(2, tab_count); 83 ASSERT_EQ(2, tab_count);
84 84
85 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); 85 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL));
86 NewTab(); 86 NewTab();
87 NewTab(); 87 NewTab();
88 active_browser()->GetTabCount(&tab_count); 88 active_browser()->GetTabCount(&tab_count);
89 ASSERT_EQ(3, tab_count); 89 ASSERT_EQ(3, tab_count);
90 automation()->GetBrowserWindowCount(&num_browser_windows); 90 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
91 ASSERT_EQ(2, num_browser_windows); 91 ASSERT_EQ(2, num_browser_windows);
92 92
93 ASSERT_TRUE(CloseActiveTab()); 93 ASSERT_TRUE(CloseActiveTab());
94 active_browser()->GetTabCount(&tab_count); 94 active_browser()->GetTabCount(&tab_count);
95 ASSERT_EQ(2, tab_count); 95 ASSERT_EQ(2, tab_count);
96 ASSERT_TRUE(CloseActiveTab()); 96 ASSERT_TRUE(CloseActiveTab());
97 active_browser()->GetTabCount(&tab_count); 97 active_browser()->GetTabCount(&tab_count);
98 ASSERT_EQ(1, tab_count); 98 ASSERT_EQ(1, tab_count);
99 num_browser_windows = 0; 99 num_browser_windows = 0;
100 automation()->GetBrowserWindowCount(&num_browser_windows); 100 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
101 ASSERT_EQ(2, num_browser_windows); 101 ASSERT_EQ(2, num_browser_windows);
102 102
103 // The browser window is closed by closing this tab. 103 // The browser window is closed by closing this tab.
104 ASSERT_TRUE(CloseActiveTab()); 104 ASSERT_TRUE(CloseActiveTab());
105 automation()->GetBrowserWindowCount(&num_browser_windows); 105 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
106 ASSERT_EQ(1, num_browser_windows); 106 ASSERT_EQ(1, num_browser_windows);
107 // Active_browser_ is now the first created window. 107 // Active_browser_ is now the first created window.
108 active_browser()->GetTabCount(&tab_count); 108 active_browser()->GetTabCount(&tab_count);
109 ASSERT_EQ(2, tab_count); 109 ASSERT_EQ(2, tab_count);
110 ASSERT_TRUE(CloseActiveTab()); 110 ASSERT_TRUE(CloseActiveTab());
111 active_browser()->GetTabCount(&tab_count); 111 active_browser()->GetTabCount(&tab_count);
112 ASSERT_EQ(1, tab_count); 112 ASSERT_EQ(1, tab_count);
113 113
114 // The last tab should not be closed. 114 // The last tab should not be closed.
115 ASSERT_FALSE(CloseActiveTab()); 115 ASSERT_FALSE(CloseActiveTab());
116 active_browser()->GetTabCount(&tab_count); 116 active_browser()->GetTabCount(&tab_count);
117 ASSERT_EQ(1, tab_count); 117 ASSERT_EQ(1, tab_count);
118 } 118 }
119 119
120 TEST_F(AutomatedUITestBase, OpenBrowserWindow) { 120 TEST_F(AutomatedUITestBase, OpenBrowserWindow) {
121 int num_browser_windows; 121 int num_browser_windows;
122 int tab_count; 122 int tab_count;
123 automation()->GetBrowserWindowCount(&num_browser_windows); 123 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
124 ASSERT_EQ(1, num_browser_windows); 124 ASSERT_EQ(1, num_browser_windows);
125 active_browser()->GetTabCount(&tab_count); 125 active_browser()->GetTabCount(&tab_count);
126 ASSERT_EQ(1, tab_count); 126 ASSERT_EQ(1, tab_count);
127 127
128 scoped_refptr<BrowserProxy> browser_1; 128 scoped_refptr<BrowserProxy> browser_1;
129 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_1)); 129 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_1));
130 automation()->GetBrowserWindowCount(&num_browser_windows); 130 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
131 ASSERT_EQ(2, num_browser_windows); 131 ASSERT_EQ(2, num_browser_windows);
132 active_browser()->GetTabCount(&tab_count); 132 active_browser()->GetTabCount(&tab_count);
133 ASSERT_EQ(1, tab_count); 133 ASSERT_EQ(1, tab_count);
134 NewTab(); 134 NewTab();
135 browser_1->GetTabCount(&tab_count); 135 browser_1->GetTabCount(&tab_count);
136 ASSERT_EQ(1, tab_count); 136 ASSERT_EQ(1, tab_count);
137 active_browser()->GetTabCount(&tab_count); 137 active_browser()->GetTabCount(&tab_count);
138 ASSERT_EQ(2, tab_count); 138 ASSERT_EQ(2, tab_count);
139 139
140 scoped_refptr<BrowserProxy> browser_2; 140 scoped_refptr<BrowserProxy> browser_2;
141 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_2)); 141 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_2));
142 automation()->GetBrowserWindowCount(&num_browser_windows); 142 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
143 ASSERT_EQ(3, num_browser_windows); 143 ASSERT_EQ(3, num_browser_windows);
144 active_browser()->GetTabCount(&tab_count); 144 active_browser()->GetTabCount(&tab_count);
145 ASSERT_EQ(1, tab_count); 145 ASSERT_EQ(1, tab_count);
146 NewTab(); 146 NewTab();
147 NewTab(); 147 NewTab();
148 browser_1->GetTabCount(&tab_count); 148 browser_1->GetTabCount(&tab_count);
149 ASSERT_EQ(1, tab_count); 149 ASSERT_EQ(1, tab_count);
150 browser_2->GetTabCount(&tab_count); 150 browser_2->GetTabCount(&tab_count);
151 ASSERT_EQ(2, tab_count); 151 ASSERT_EQ(2, tab_count);
152 active_browser()->GetTabCount(&tab_count); 152 active_browser()->GetTabCount(&tab_count);
153 ASSERT_EQ(3, tab_count); 153 ASSERT_EQ(3, tab_count);
154 154
155 bool application_closed; 155 bool application_closed;
156 CloseBrowser(browser_1.get(), &application_closed); 156 CloseBrowser(browser_1.get(), &application_closed);
157 ASSERT_FALSE(application_closed); 157 ASSERT_FALSE(application_closed);
158 automation()->GetBrowserWindowCount(&num_browser_windows); 158 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
159 ASSERT_EQ(2, num_browser_windows); 159 ASSERT_EQ(2, num_browser_windows);
160 CloseBrowser(browser_2.get(), &application_closed); 160 CloseBrowser(browser_2.get(), &application_closed);
161 ASSERT_FALSE(application_closed); 161 ASSERT_FALSE(application_closed);
162 automation()->GetBrowserWindowCount(&num_browser_windows); 162 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
163 ASSERT_EQ(1, num_browser_windows); 163 ASSERT_EQ(1, num_browser_windows);
164 } 164 }
165 165
166 TEST_F(AutomatedUITestBase, MAYBE_CloseBrowserWindow) { 166 TEST_F(AutomatedUITestBase, MAYBE_CloseBrowserWindow) {
167 int tab_count; 167 int tab_count;
168 NewTab(); 168 NewTab();
169 active_browser()->GetTabCount(&tab_count); 169 active_browser()->GetTabCount(&tab_count);
170 ASSERT_EQ(2, tab_count); 170 ASSERT_EQ(2, tab_count);
171 171
172 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); 172 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL));
(...skipping 22 matching lines...) Expand all
195 active_browser()->GetTabCount(&tab_count); 195 active_browser()->GetTabCount(&tab_count);
196 ASSERT_EQ(2, tab_count); 196 ASSERT_EQ(2, tab_count);
197 } 197 }
198 198
199 ASSERT_FALSE(CloseActiveWindow()); 199 ASSERT_FALSE(CloseActiveWindow());
200 } 200 }
201 201
202 TEST_F(AutomatedUITestBase, MAYBE_IncognitoWindow) { 202 TEST_F(AutomatedUITestBase, MAYBE_IncognitoWindow) {
203 int num_browser_windows; 203 int num_browser_windows;
204 int num_normal_browser_windows; 204 int num_normal_browser_windows;
205 automation()->GetBrowserWindowCount(&num_browser_windows); 205 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
206 ASSERT_EQ(1, num_browser_windows); 206 ASSERT_EQ(1, num_browser_windows);
207 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); 207 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows);
208 ASSERT_EQ(1, num_normal_browser_windows); 208 ASSERT_EQ(1, num_normal_browser_windows);
209 209
210 ASSERT_TRUE(GoOffTheRecord()); 210 ASSERT_TRUE(GoOffTheRecord());
211 ASSERT_TRUE(GoOffTheRecord()); 211 ASSERT_TRUE(GoOffTheRecord());
212 automation()->GetBrowserWindowCount(&num_browser_windows); 212 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
213 ASSERT_EQ(3, num_browser_windows); 213 ASSERT_EQ(3, num_browser_windows);
214 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); 214 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows);
215 ASSERT_EQ(1, num_normal_browser_windows); 215 ASSERT_EQ(1, num_normal_browser_windows);
216 216
217 // There is only one normal window so it will not be closed. 217 // There is only one normal window so it will not be closed.
218 ASSERT_FALSE(CloseActiveWindow()); 218 ASSERT_FALSE(CloseActiveWindow());
219 automation()->GetBrowserWindowCount(&num_browser_windows); 219 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
220 ASSERT_EQ(3, num_browser_windows); 220 ASSERT_EQ(3, num_browser_windows);
221 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); 221 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows);
222 ASSERT_EQ(1, num_normal_browser_windows); 222 ASSERT_EQ(1, num_normal_browser_windows);
223 223
224 set_active_browser(automation()->GetBrowserWindow(0)); 224 set_active_browser(automation()->GetBrowserWindow(0));
225 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 225 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
226 set_active_browser(automation()->GetBrowserWindow(0)); 226 set_active_browser(automation()->GetBrowserWindow(0));
227 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 227 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
228 automation()->GetBrowserWindowCount(&num_browser_windows); 228 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
229 ASSERT_EQ(1, num_browser_windows); 229 ASSERT_EQ(1, num_browser_windows);
230 } 230 }
231 231
232 TEST_F(AutomatedUITestBase, MAYBE_OpenCloseBrowserWindowWithAccelerator) { 232 TEST_F(AutomatedUITestBase, MAYBE_OpenCloseBrowserWindowWithAccelerator) {
233 // Note: we don't use RunCommand(IDC_OPEN/CLOSE_WINDOW) to open/close 233 // Note: we don't use RunCommand(IDC_OPEN/CLOSE_WINDOW) to open/close
234 // browser window in automated ui tests. Instead we use 234 // browser window in automated ui tests. Instead we use
235 // OpenAndActivateNewBrowserWindow and CloseActiveWindow. 235 // OpenAndActivateNewBrowserWindow and CloseActiveWindow.
236 // There are other parts of UI test that use the accelerators. This is 236 // There are other parts of UI test that use the accelerators. This is
237 // a unit test for those usage. 237 // a unit test for those usage.
238 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); 238 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW));
239 int num_browser_windows; 239 int num_browser_windows;
240 automation()->GetBrowserWindowCount(&num_browser_windows); 240 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
241 ASSERT_EQ(2, num_browser_windows); 241 ASSERT_EQ(2, num_browser_windows);
242 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); 242 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW));
243 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); 243 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW));
244 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); 244 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW));
245 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); 245 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW));
246 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); 246 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW));
247 automation()->GetBrowserWindowCount(&num_browser_windows); 247 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
248 ASSERT_EQ(7, num_browser_windows); 248 ASSERT_EQ(7, num_browser_windows);
249 249
250 set_active_browser(automation()->GetBrowserWindow(0)); 250 set_active_browser(automation()->GetBrowserWindow(0));
251 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 251 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
252 automation()->GetBrowserWindowCount(&num_browser_windows); 252 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
253 ASSERT_EQ(6, num_browser_windows); 253 ASSERT_EQ(6, num_browser_windows);
254 set_active_browser(automation()->GetBrowserWindow(0)); 254 set_active_browser(automation()->GetBrowserWindow(0));
255 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 255 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
256 set_active_browser(automation()->GetBrowserWindow(0)); 256 set_active_browser(automation()->GetBrowserWindow(0));
257 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 257 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
258 set_active_browser(automation()->GetBrowserWindow(0)); 258 set_active_browser(automation()->GetBrowserWindow(0));
259 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 259 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
260 set_active_browser(automation()->GetBrowserWindow(0)); 260 set_active_browser(automation()->GetBrowserWindow(0));
261 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 261 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
262 set_active_browser(automation()->GetBrowserWindow(0)); 262 set_active_browser(automation()->GetBrowserWindow(0));
263 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); 263 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW));
264 automation()->GetBrowserWindowCount(&num_browser_windows); 264 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows));
265 ASSERT_EQ(1, num_browser_windows); 265 ASSERT_EQ(1, num_browser_windows);
266 } 266 }
267 267
268 TEST_F(AutomatedUITestBase, Navigate) { 268 TEST_F(AutomatedUITestBase, Navigate) {
269 FilePath path_prefix(test_data_directory_.AppendASCII("session_history")); 269 FilePath path_prefix(test_data_directory_.AppendASCII("session_history"));
270 GURL url1(net::FilePathToFileURL(path_prefix.AppendASCII("bot1.html"))); 270 GURL url1(net::FilePathToFileURL(path_prefix.AppendASCII("bot1.html")));
271 GURL url2(net::FilePathToFileURL(path_prefix.AppendASCII("bot2.html"))); 271 GURL url2(net::FilePathToFileURL(path_prefix.AppendASCII("bot2.html")));
272 GURL url3(net::FilePathToFileURL(path_prefix.AppendASCII("bot3.html"))); 272 GURL url3(net::FilePathToFileURL(path_prefix.AppendASCII("bot3.html")));
273 GURL url; 273 GURL url;
274 ASSERT_TRUE(Navigate(url1)); 274 ASSERT_TRUE(Navigate(url1));
(...skipping 11 matching lines...) Expand all
286 ASSERT_TRUE(BackButton()); 286 ASSERT_TRUE(BackButton());
287 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); 287 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url));
288 ASSERT_EQ(url1, url); 288 ASSERT_EQ(url1, url);
289 ASSERT_TRUE(ForwardButton()); 289 ASSERT_TRUE(ForwardButton());
290 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); 290 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url));
291 ASSERT_EQ(url2, url); 291 ASSERT_EQ(url2, url);
292 ASSERT_TRUE(ReloadPage()); 292 ASSERT_TRUE(ReloadPage());
293 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); 293 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url));
294 ASSERT_EQ(url2, url); 294 ASSERT_EQ(url2, url);
295 } 295 }
OLDNEW
« no previous file with comments | « chrome/test/automated_ui_tests/automated_ui_test_base.cc ('k') | chrome/test/page_cycler/page_cycler_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698