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

Side by Side Diff: functional/test_utils.py

Issue 5379007: Adding pyauto tests to passwords.py... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/test/
Patch Set: '' Created 10 years 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
« functional/passwords.py ('K') | « functional/passwords.py ('k') | 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 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 import email 7 import email
8 import os 8 import os
9 import smtplib 9 import smtplib
10 10
(...skipping 10 matching lines...) Expand all
21 test: derived from pyauto.PyUITest - base class for UI test cases 21 test: derived from pyauto.PyUITest - base class for UI test cases
22 file_name: name of file to download 22 file_name: name of file to download
23 """ 23 """
24 file_url = test.GetFileURLForDataPath(os.path.join('downloads', file_name)) 24 file_url = test.GetFileURLForDataPath(os.path.join('downloads', file_name))
25 downloaded_pkg = os.path.join(test.GetDownloadDirectory().value(), 25 downloaded_pkg = os.path.join(test.GetDownloadDirectory().value(),
26 file_name) 26 file_name)
27 # Check if file already exists. If so then delete it. 27 # Check if file already exists. If so then delete it.
28 if os.path.exists(downloaded_pkg): 28 if os.path.exists(downloaded_pkg):
29 RemoveDownloadedTestFile(test, file_name) 29 RemoveDownloadedTestFile(test, file_name)
30 test.DownloadAndWaitForStart(file_url) 30 test.DownloadAndWaitForStart(file_url)
31 test.WaitForAllDownloadsToComplete() 31 test.WaitForAllDownloadsToComplete()
Nirnimesh 2010/11/29 22:42:58 leave 2 blank lines at global scope
sunandt 2010/12/07 23:47:45 Done.
32 32
33
34 def RemoveDownloadedTestFile(test, file_name): 33 def RemoveDownloadedTestFile(test, file_name):
35 """Delete a file from the downloads directory. 34 """Delete a file from the downloads directory.
36 35
37 Arg: 36 Arg:
38 test: derived from pyauto.PyUITest - base class for UI test cases 37 test: derived from pyauto.PyUITest - base class for UI test cases
39 file_name: name of file to remove 38 file_name: name of file to remove
40 """ 39 """
41 downloaded_pkg = os.path.join(test.GetDownloadDirectory().value(), 40 downloaded_pkg = os.path.join(test.GetDownloadDirectory().value(),
42 file_name) 41 file_name)
43 pyauto_utils.RemovePath(downloaded_pkg) 42 pyauto_utils.RemovePath(downloaded_pkg)
44 pyauto_utils.RemovePath(downloaded_pkg + '.crdownload') 43 pyauto_utils.RemovePath(downloaded_pkg + '.crdownload')
Nirnimesh 2010/11/29 22:42:58 ditto. and repeat everywhere
sunandt 2010/12/07 23:47:45 Done.
45 44
46 45 def GoogleAccountsLogin(test, url, username, password, windex=0, tab_index=0):
Nirnimesh 2010/11/29 22:42:58 Please reverse the order. Pass tab_index then wind
sunandt 2010/12/07 23:47:45 Done.
47 def GoogleAccountsLogin(test, url, username, password):
48 """Log into Google Accounts. 46 """Log into Google Accounts.
49 47
50 Attempts to login to Google by entering the username/password into the google 48 Attempts to login to Google by entering the username/password into the google
51 login page and click submit button. 49 login page and click submit button.
52 50
53 Args: 51 Args:
54 test: derived from pyauto.PyUITest - base class for UI test cases. 52 test: derived from pyauto.PyUITest - base class for UI test cases.
55 username: users login input. 53 username: users login input.
56 password: users login password input. 54 password: users login password input.
57 """ 55 """
58 test.NavigateToURL('https://www.google.com/accounts/') 56 test.NavigateToURL(url, windex, tab_index)
59 email_id = 'document.getElementById("Email").value = \"%s\"; ' \ 57 email_id = 'document.getElementById("Email").value = "%s"; ' \
60 'window.domAutomationController.send("done")' % username 58 'window.domAutomationController.send("done")' % username
61 password = 'document.getElementById("Passwd").value = \"%s\"; ' \ 59 password = 'document.getElementById("Passwd").value = "%s"; ' \
62 'window.domAutomationController.send("done")' % password 60 'window.domAutomationController.send("done")' % password
63 test.ExecuteJavascript(email_id); 61 test.ExecuteJavascript(email_id, windex, tab_index);
64 test.ExecuteJavascript(password); 62 test.ExecuteJavascript(password, windex, tab_index);
65 test.ExecuteJavascript('document.getElementById("gaia_loginform").submit();' 63 test.ExecuteJavascript('document.getElementById("gaia_loginform").submit();'
66 'window.domAutomationController.send("done")') 64 'window.domAutomationController.send("done")',
65 windex, tab_index)
67 66
68 67 def VerifyGoogleAccountCredsFilled(test, username, password, windex=0,
Nirnimesh 2010/11/29 22:42:58 same here
sunandt 2010/12/07 23:47:45 Done.
69 def VerifyGoogleAccountCredsFilled(test, username, password): 68 tab_index=0):
70 """Verify stored/saved user and password values to the values in the field. 69 """Verify stored/saved user and password values to the values in the field.
71 70
72 Args: 71 Args:
73 test: derived from pyauto.PyUITest - base class for UI test cases. 72 test: derived from pyauto.PyUITest - base class for UI test cases.
74 username: user log in input. 73 username: user log in input.
75 password: user log in password input. 74 password: user log in password input.
76 """ 75 """
77 email_value = test.GetDOMValue('document.getElementById("Email").value') 76 email_value = test.GetDOMValue('document.getElementById("Email").value',
78 passwd_value = test.GetDOMValue('document.getElementById("Passwd").value') 77 windex, tab_index)
78 passwd_value = test.GetDOMValue('document.getElementById("Passwd").value',
79 windex, tab_index)
79 test.assertEqual(email_value, username) 80 test.assertEqual(email_value, username)
80 test.assertEqual(passwd_value, password) 81 test.assertEqual(passwd_value, password)
81 82
82
83 def ClearPasswords(test): 83 def ClearPasswords(test):
84 """Clear saved passwords.""" 84 """Clear saved passwords."""
85 test.ClearBrowsingData(['PASSWORDS'], 'EVERYTHING') 85 test.ClearBrowsingData(['PASSWORDS'], 'EVERYTHING')
86 86
87
88 def Shell2(cmd_string, bg=False): 87 def Shell2(cmd_string, bg=False):
89 """Run a shell command. 88 """Run a shell command.
90 89
91 Args: 90 Args:
92 cmd_string: command to run 91 cmd_string: command to run
93 bg: should the process be run in background? Default: False 92 bg: should the process be run in background? Default: False
94 93
95 Returns: 94 Returns:
96 Output, return code 95 Output, return code
97 """ 96 """
98 if not cmd_string: return ('', 0) 97 if not cmd_string: return ('', 0)
99 if bg: 98 if bg:
100 cmd_string += ' 1>/dev/null 2>&1 &' 99 cmd_string += ' 1>/dev/null 2>&1 &'
101 proc = os.popen(cmd_string) 100 proc = os.popen(cmd_string)
102 if bg: return ('Background process: %s' % cmd_string, 0) 101 if bg: return ('Background process: %s' % cmd_string, 0)
103 out = proc.read() 102 out = proc.read()
104 retcode = proc.close() 103 retcode = proc.close()
105 if not retcode: # Success 104 if not retcode: # Success
106 retcode = 0 105 retcode = 0
107 return (out, retcode) 106 return (out, retcode)
108 107
109
110 def SendMail(send_from, send_to, subject, text, smtp, file_to_send=None): 108 def SendMail(send_from, send_to, subject, text, smtp, file_to_send=None):
111 """Send mail to all the group to notify about the crash and uploaded data. 109 """Send mail to all the group to notify about the crash and uploaded data.
112 110
113 Args: 111 Args:
114 send_from: from mail id. 112 send_from: from mail id.
115 send_to: to mail id. 113 send_to: to mail id.
116 subject: mail subject. 114 subject: mail subject.
117 text: mail body. 115 text: mail body.
118 smtp: The smtp to use. 116 smtp: The smtp to use.
119 file_to_send: attachments for the mail. 117 file_to_send: attachments for the mail.
(...skipping 10 matching lines...) Expand all
130 if file_to_send is not None: 128 if file_to_send is not None:
131 part.set_payload(open(file_to_send,'rb').read()) 129 part.set_payload(open(file_to_send,'rb').read())
132 email.Encoders.encode_base64(part) 130 email.Encoders.encode_base64(part)
133 part.add_header('Content-Disposition', 131 part.add_header('Content-Disposition',
134 'attachment; filename="%s"' 132 'attachment; filename="%s"'
135 % os.path.basename(file_to_send)) 133 % os.path.basename(file_to_send))
136 msg.attach(part) 134 msg.attach(part)
137 smtp_obj = smtplib.SMTP(smtp) 135 smtp_obj = smtplib.SMTP(smtp)
138 smtp_obj.sendmail(send_from, send_to, msg.as_string()) 136 smtp_obj.sendmail(send_from, send_to, msg.as_string())
139 smtp_obj.close() 137 smtp_obj.close()
140
OLDNEW
« functional/passwords.py ('K') | « functional/passwords.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698