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

Side by Side Diff: components/test/data/password_manager/tests.py

Issue 538403003: Automatically wait for elements to be displayed in the password manager python tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
« no previous file with comments | « no previous file | components/test/data/password_manager/websitetest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Automated tests for many websites""" 6 """Automated tests for many websites"""
7 7
8 import argparse 8 import argparse
9 import logging 9 import logging
10 10
(...skipping 22 matching lines...) Expand all
33 self.GoTo("https://www.facebook.com") 33 self.GoTo("https://www.facebook.com")
34 self.FillUsernameInto("[name='email']") 34 self.FillUsernameInto("[name='email']")
35 self.FillPasswordInto("[name='pass']") 35 self.FillPasswordInto("[name='pass']")
36 self.Submit("[name='pass']") 36 self.Submit("[name='pass']")
37 37
38 38
39 class Google(WebsiteTest): 39 class Google(WebsiteTest):
40 40
41 def Login(self): 41 def Login(self):
42 self.GoTo("https://accounts.google.com/ServiceLogin?sacu=1&continue=") 42 self.GoTo("https://accounts.google.com/ServiceLogin?sacu=1&continue=")
43 self.WaitUntilDisplayed("#Email")
44 self.FillUsernameInto("#Email") 43 self.FillUsernameInto("#Email")
45 self.FillPasswordInto("#Passwd") 44 self.FillPasswordInto("#Passwd")
46 self.Submit("#Passwd") 45 self.Submit("#Passwd")
47 46
48 47
49 class Linkedin(WebsiteTest): 48 class Linkedin(WebsiteTest):
50 49
51 def Login(self): 50 def Login(self):
52 self.GoTo("https://www.linkedin.com") 51 self.GoTo("https://www.linkedin.com")
53 self.FillUsernameInto("#session_key-login") 52 self.FillUsernameInto("#session_key-login")
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 self.GoTo("https://www.tumblr.com/login") 98 self.GoTo("https://www.tumblr.com/login")
100 self.FillUsernameInto("#signup_email") 99 self.FillUsernameInto("#signup_email")
101 self.FillPasswordInto("#signup_password") 100 self.FillPasswordInto("#signup_password")
102 self.Submit("#signup_password") 101 self.Submit("#signup_password")
103 102
104 103
105 class Twitter(WebsiteTest): 104 class Twitter(WebsiteTest):
106 105
107 def Login(self): 106 def Login(self):
108 self.GoTo("https:///twitter.com") 107 self.GoTo("https:///twitter.com")
109 self.WaitUntilDisplayed("#signin-email")
110 self.FillUsernameInto("#signin-email") 108 self.FillUsernameInto("#signin-email")
111 self.FillPasswordInto("#signin-password") 109 self.FillPasswordInto("#signin-password")
112 self.Submit("#signin-password") 110 self.Submit("#signin-password")
113 111
114 112
115 class Wikipedia(WebsiteTest): 113 class Wikipedia(WebsiteTest):
116 114
117 def Login(self): 115 def Login(self):
118 self.GoTo("https://en.wikipedia.org/w/index.php?title=Special:UserLogin") 116 self.GoTo("https://en.wikipedia.org/w/index.php?title=Special:UserLogin")
119 self.FillUsernameInto("#wpName1") 117 self.FillUsernameInto("#wpName1")
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 self.FillUsernameInto("[name='username']") 164 self.FillUsernameInto("[name='username']")
167 self.FillPasswordInto("[name='password']") 165 self.FillPasswordInto("[name='password']")
168 self.Click(".signin_show.signin_submit") 166 self.Click(".signin_show.signin_submit")
169 167
170 168
171 # Password not saved. 169 # Password not saved.
172 class Baidu(WebsiteTest): 170 class Baidu(WebsiteTest):
173 171
174 def Login(self): 172 def Login(self):
175 self.GoTo("https://passport.baidu.com") 173 self.GoTo("https://passport.baidu.com")
176 self.WaitUntilDisplayed("[name='userName']")
177 self.FillUsernameInto("[name='userName']") 174 self.FillUsernameInto("[name='userName']")
178 self.FillPasswordInto("[name='password']") 175 self.FillPasswordInto("[name='password']")
179 self.Submit("[name='password']") 176 self.Submit("[name='password']")
180 177
181 178
182 # http://crbug.com/368690 179 # http://crbug.com/368690
183 class Cnn(WebsiteTest): 180 class Cnn(WebsiteTest):
184 181
185 def Login(self): 182 def Login(self):
186 self.GoTo("http://www.cnn.com") 183 self.GoTo("http://www.cnn.com")
187 self.Wait(5) 184 self.Wait(5)
188 while not self.IsDisplayed(".cnnOvrlyBtn.cnnBtnLogIn"): 185 while not self.IsDisplayed(".cnnOvrlyBtn.cnnBtnLogIn"):
189 self.ClickIfClickable("#hdr-auth .no-border.no-pad-right a") 186 self.ClickIfClickable("#hdr-auth .no-border.no-pad-right a")
190 self.Wait(1) 187 self.Wait(1)
191 188
192 self.Click(".cnnOvrlyBtn.cnnBtnLogIn") 189 self.Click(".cnnOvrlyBtn.cnnBtnLogIn")
193 self.FillUsernameInto("#cnnOverlayEmail1l") 190 self.FillUsernameInto("#cnnOverlayEmail1l")
194 self.FillPasswordInto("#cnnOverlayPwd") 191 self.FillPasswordInto("#cnnOverlayPwd")
195 self.Click(".cnnOvrlyBtn.cnnBtnLogIn") 192 self.Click(".cnnOvrlyBtn.cnnBtnLogIn")
196 self.Click(".cnnOvrlyBtn.cnnBtnLogIn") 193 self.Click(".cnnOvrlyBtn.cnnBtnLogIn")
197 self.Wait(5) 194 self.Wait(5)
198 195
199 196
200 # http://crbug.com/368690 197 # http://crbug.com/368690
201 class Ebay(WebsiteTest): 198 class Ebay(WebsiteTest):
202 199
203 def Login(self): 200 def Login(self):
204 self.GoTo("https://signin.ebay.com/") 201 self.GoTo("https://signin.ebay.com/")
205 self.WaitUntilDisplayed("[name='userid']")
206 self.FillUsernameInto("[name='userid']") 202 self.FillUsernameInto("[name='userid']")
207 self.FillPasswordInto("[name='pass']") 203 self.FillPasswordInto("[name='pass']")
208 self.Submit("[name='pass']") 204 self.Submit("[name='pass']")
209 205
210 206
211 # Iframe, password saved but not autofileld. 207 # Iframe, password saved but not autofileld.
212 class Espn(WebsiteTest): 208 class Espn(WebsiteTest):
213 209
214 def Login(self): 210 def Login(self):
215 self.GoTo("http://espn.go.com/") 211 self.GoTo("http://espn.go.com/")
216 while not self.IsDisplayed("#cboxLoadedContent iframe"): 212 while not self.IsDisplayed("#cboxLoadedContent iframe"):
217 self.Click("#signin .cbOverlay") 213 self.Click("#signin .cbOverlay")
218 self.Wait(1) 214 self.Wait(1)
219 frame = self.driver.find_element_by_css_selector("#cboxLoadedContent " 215 frame = self.driver.find_element_by_css_selector("#cboxLoadedContent "
220 "iframe") 216 "iframe")
221 self.driver.switch_to_frame(frame) 217 self.driver.switch_to_frame(frame)
222 self.WaitUntilDisplayed("#username")
223 self.FillUsernameInto("#username") 218 self.FillUsernameInto("#username")
224 self.FillPasswordInto("#password") 219 self.FillPasswordInto("#password")
225 while self.IsDisplayed("#password"): 220 while self.IsDisplayed("#password"):
226 self.ClickIfClickable("#submitBtn") 221 self.ClickIfClickable("#submitBtn")
227 self.Wait(1) 222 self.Wait(1)
228 223
229 224
230 # http://crbug.com/367768 225 # http://crbug.com/367768
231 class Live(WebsiteTest): 226 class Live(WebsiteTest):
232 227
233 def Login(self): 228 def Login(self):
234 self.GoTo("https://login.live.com") 229 self.GoTo("https://login.live.com")
235 self.WaitUntilDisplayed("[name='login']")
236 self.FillUsernameInto("[name='login']") 230 self.FillUsernameInto("[name='login']")
237 self.FillPasswordInto("[name='passwd']") 231 self.FillPasswordInto("[name='passwd']")
238 self.Submit("[name='passwd']") 232 self.Submit("[name='passwd']")
239 233
240 234
241 # http://crbug.com/368690 235 # http://crbug.com/368690
242 class One63(WebsiteTest): 236 class One63(WebsiteTest):
243 237
244 def Login(self): 238 def Login(self):
245 self.GoTo("http://www.163.com") 239 self.GoTo("http://www.163.com")
246 self.WaitUntilDisplayed("#js_N_navHighlight")
247 self.HoverOver("#js_N_navHighlight") 240 self.HoverOver("#js_N_navHighlight")
248 self.WaitUntilDisplayed("#js_loginframe_username")
249 self.FillUsernameInto("#js_loginframe_username") 241 self.FillUsernameInto("#js_loginframe_username")
250 self.FillPasswordInto(".ntes-loginframe-label-ipt[type='password']") 242 self.FillPasswordInto(".ntes-loginframe-label-ipt[type='password']")
251 self.Click(".ntes-loginframe-btn") 243 self.Click(".ntes-loginframe-btn")
252 244
253 245
254 # http://crbug.com/368690 246 # http://crbug.com/368690
255 class Vube(WebsiteTest): 247 class Vube(WebsiteTest):
256 248
257 def Login(self): 249 def Login(self):
258 self.GoTo("https://vube.com") 250 self.GoTo("https://vube.com")
259 self.WaitUntilDisplayed("[vube-login='']")
260 self.Click("[vube-login='']") 251 self.Click("[vube-login='']")
261 self.WaitUntilDisplayed("[ng-model='login.user']")
262 self.FillUsernameInto("[ng-model='login.user']") 252 self.FillUsernameInto("[ng-model='login.user']")
263 self.FillPasswordInto("[ng-model='login.pass']") 253 self.FillPasswordInto("[ng-model='login.pass']")
264 while (self.IsDisplayed("[ng-model='login.pass']") 254 while (self.IsDisplayed("[ng-model='login.pass']")
265 and not self.IsDisplayed(".prompt.alert")): 255 and not self.IsDisplayed(".prompt.alert")):
266 self.ClickIfClickable("[ng-click='login()']") 256 self.ClickIfClickable("[ng-click='login()']")
267 self.Wait(1) 257 self.Wait(1)
268 258
269 259
270 def Tests(environment): 260 def Tests(environment):
271 261
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 args.profile_path[0], 480 args.profile_path[0],
491 passwords_path, 481 passwords_path,
492 True, 482 True,
493 numeric_level, 483 numeric_level,
494 args.log_screen, 484 args.log_screen,
495 log_file, 485 log_file,
496 tested_websites, 486 tested_websites,
497 args.tests) 487 args.tests)
498 488
499 saveResults(tests_results, save_path) 489 saveResults(tests_results, save_path)
OLDNEW
« no previous file with comments | « no previous file | components/test/data/password_manager/websitetest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698