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

Side by Side Diff: components/test/data/password_manager/automated_tests/environment.py

Issue 891283002: [Password manager tests] Enable "Offer to save password" via webriver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 """The testing Environment class.""" 5 """The testing Environment class."""
6 6
7 import logging 7 import logging
8 import shutil 8 import shutil
9 import sys 9 import sys
10 import time 10 import time
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 negation = "" 182 negation = ""
183 if clear_passwords: 183 if clear_passwords:
184 negation = "!" 184 negation = "!"
185 script += ( 185 script += (
186 "if (%sdocument.querySelector('#delete-passwords-checkbox').checked)" 186 "if (%sdocument.querySelector('#delete-passwords-checkbox').checked)"
187 " document.querySelector('#delete-passwords-checkbox').click();" 187 " document.querySelector('#delete-passwords-checkbox').click();"
188 % negation) 188 % negation)
189 script += "document.querySelector('#clear-browser-data-commit').click();" 189 script += "document.querySelector('#clear-browser-data-commit').click();"
190 self.driver.execute_script(script) 190 self.driver.execute_script(script)
191 time.sleep(2) 191 time.sleep(2)
192 # Every time we do something to the cache let's enable password saving.
193 # TODO(melandory): We should check why it's off in a first place.
194 # TODO(melandory): Investigate, maybe there is no need to enable it that
195 # often.
196 self.EnablePasswordsSaving()
197
198 def EnablePasswordsSaving(self):
199 logging.info("\nEnablePasswordSaving\n")
200 self.driver.get("chrome://settings")
201 self.driver.switch_to_frame("settings")
202 script = "document.getElementById('advanced-settings-expander').click();"
203 self.driver.execute_script(script)
204 time.sleep(2)
205 script = (
206 "if (!document.querySelector('#password-manager-enabled').checked)"
207 "{ document.querySelector('#password-manager-enabled').click();}")
208 self.driver.execute_script(script)
209 time.sleep(2)
192 210
193 def OpenTabAndGoToInternals(self, url): 211 def OpenTabAndGoToInternals(self, url):
194 """If there is no |self.website_window|, opens a new tab and navigates to 212 """If there is no |self.website_window|, opens a new tab and navigates to
195 |url| in the new tab. Navigates to the passwords internals page in the 213 |url| in the new tab. Navigates to the passwords internals page in the
196 first tab. Raises an exception otherwise. 214 first tab. Raises an exception otherwise.
197 215
198 Args: 216 Args:
199 url: Url to go to in the new tab. 217 url: Url to go to in the new tab.
200 218
201 Raises: 219 Raises:
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 websitetest.was_run = True 386 websitetest.was_run = True
369 websitetest.WrongLoginTest() 387 websitetest.WrongLoginTest()
370 websitetest.SuccessfulLoginTest() 388 websitetest.SuccessfulLoginTest()
371 self.ClearCache(False) 389 self.ClearCache(False)
372 websitetest.SuccessfulLoginWithAutofilledPasswordTest() 390 websitetest.SuccessfulLoginWithAutofilledPasswordTest()
373 self.ClearCache(True) 391 self.ClearCache(True)
374 websitetest.SuccessfulLoginTest() 392 websitetest.SuccessfulLoginTest()
375 self.ClearCache(True) 393 self.ClearCache(True)
376 except Exception as e: 394 except Exception as e:
377 successful = False 395 successful = False
396 error = e.message
378 self.tests_results.append(TestResult(websitetest.name, "normal", 397 self.tests_results.append(TestResult(websitetest.name, "normal",
379 successful, e.message)) 398 successful, error))
380 399
381 400
382 def PromptTestList(self, websitetests): 401 def PromptTestList(self, websitetests):
383 """Runs the prompt tests on the websites in |websitetests|. 402 """Runs the prompt tests on the websites in |websitetests|.
384 403
385 Args: 404 Args:
386 websitetests: A list of WebsiteTests that are going to be tested. 405 websitetests: A list of WebsiteTests that are going to be tested.
387 406
388 Raises: 407 Raises:
389 Exception: An exception is raised if the tests fail. 408 Exception: An exception is raised if the tests fail.
390 """ 409 """
391 self.ClearCache(True) 410 self.ClearCache(True)
392 411
393 for websitetest in websitetests: 412 for websitetest in websitetests:
394 successful = True 413 successful = True
395 error = "" 414 error = ""
396 try: 415 try:
397 websitetest.was_run = True 416 websitetest.was_run = True
398 websitetest.PromptTest() 417 websitetest.PromptTest()
399 except Exception as e: 418 except Exception as e:
400 successful = False 419 successful = False
420 error = e.message
401 self.tests_results.append(TestResult(websitetest.name, "prompt", 421 self.tests_results.append(TestResult(websitetest.name, "prompt",
402 successful, e.message)) 422 successful, error))
403 423
404 def Quit(self): 424 def Quit(self):
405 """Closes the tests.""" 425 """Closes the tests."""
406 # Close the webdriver. 426 # Close the webdriver.
407 self.driver.quit() 427 self.driver.quit()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698