Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 from page_sets.login_helpers import login_utils | 5 from page_sets.login_helpers import login_utils |
| 6 | 6 |
| 7 | 7 |
| 8 def LoginAccount(action_runner, credential, | 8 def LoginAccount(action_runner, credential, |
| 9 credentials_path=login_utils.DEFAULT_CREDENTIAL_PATH): | 9 credentials_path=login_utils.DEFAULT_CREDENTIAL_PATH): |
| 10 """Logs in into a Dropbox account. | 10 """Logs in into a Dropbox account. |
| 11 | 11 |
| 12 This function navigates the tab into Dropbox's login page and logs in a user | 12 This function navigates the tab into Dropbox's login page and logs in a user |
| 13 using credentials in |credential| part of the |credentials_path| file. | 13 using credentials in |credential| part of the |credentials_path| file. |
| 14 | 14 |
| 15 Args: | 15 Args: |
| 16 action_runner: Action runner responsible for running actions on the page. | 16 action_runner: Action runner responsible for running actions on the page. |
| 17 credential: The credential to retrieve from the credentials file (string). | 17 credential: The credential to retrieve from the credentials file (string). |
| 18 credentials_path: The path to credential file (string). | 18 credentials_path: The path to credential file (string). |
| 19 | 19 |
| 20 Raises: | 20 Raises: |
| 21 exceptions.Error: See ExecuteJavaScript() | 21 exceptions.Error: See ExecuteJavaScript() |
| 22 for a detailed list of possible exceptions. | 22 for a detailed list of possible exceptions. |
| 23 """ | 23 """ |
| 24 account_name, password = login_utils.GetAccountNameAndPassword( | 24 account_name, password = login_utils.GetAccountNameAndPassword( |
| 25 credential, credentials_path=credentials_path) | 25 credential, credentials_path=credentials_path) |
| 26 | 26 |
| 27 action_runner.Navigate('https://www.dropbox.com/login') | 27 action_runner.Navigate('https://www.pandora.com/account/sign-in') |
| 28 login_utils.InputWithSelector( | 28 login_utils.InputWithSelector( |
| 29 action_runner, account_name, 'input[name=login_email]') | 29 action_runner, account_name, 'input[id=login_username]') |
| 30 login_utils.InputWithSelector( | 30 login_utils.InputWithSelector( |
| 31 action_runner, password, 'input[name=login_password]') | 31 action_runner, password, 'input[id=login_password]') |
| 32 | 32 |
| 33 # Wait until the "Sign in" button is enabled and then click it. | 33 login_button_function = ('document.getElementsByClassName(' |
|
petrcermak
2016/09/14 16:42:56
I would personally just inline this into the actio
rnephew (Reviews Here)
2016/09/20 21:09:54
I like naming it. It makes it easier to understand
| |
| 34 login_button_selector = '.login-form .login-button' | 34 '"onboarding__form__button onboarding__b1 onboarding' |
| 35 action_runner.WaitForJavaScriptCondition(''' | 35 '__form__button--blue loginButton")[0]') |
|
petrcermak
2016/09/14 16:42:56
nit: could you put the last "onboarding" on this l
rnephew (Reviews Here)
2016/09/20 21:09:54
Done.
rnephew (Reviews Here)
2016/09/20 21:09:54
Done.
| |
| 36 (function() { | 36 action_runner.ClickElement(element_function=login_button_function) |
| 37 var loginButton = document.querySelector("%s"); | |
| 38 if (!loginButton) | |
| 39 return false; | |
| 40 return !loginButton.disabled; | |
| 41 })();''' % login_button_selector) | |
| 42 action_runner.ClickElement(selector=login_button_selector) | |
| 43 action_runner.WaitForNavigate() | |
| OLD | NEW |