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

Side by Side Diff: chrome/test/functional/infobars.py

Issue 7544026: Fix for flakiness in pyauto automation hook WaitForDownloadsToComplete. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-wrote the first patch set. Created 9 years, 4 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 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2011 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 import logging 6 import logging
7 import os 7 import os
8 import re 8 import re
9 9
10 import pyauto_functional # Must be imported before pyauto 10 import pyauto_functional # Must be imported before pyauto
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 def testMultipleDownloadsInfobar(self): 122 def testMultipleDownloadsInfobar(self):
123 """Verify the mutiple downloads infobar.""" 123 """Verify the mutiple downloads infobar."""
124 zip_file = 'a_zip_file.zip' 124 zip_file = 'a_zip_file.zip'
125 html_file = 'download-a_zip_file.html' 125 html_file = 'download-a_zip_file.html'
126 assert pyauto.PyUITest.IsEnUS() 126 assert pyauto.PyUITest.IsEnUS()
127 file_url = self.GetFileURLForDataPath('downloads', html_file) 127 file_url = self.GetFileURLForDataPath('downloads', html_file)
128 match_text = 'This site is attempting to download multiple files. ' \ 128 match_text = 'This site is attempting to download multiple files. ' \
129 'Do you want to allow this?' 129 'Do you want to allow this?'
130 self.NavigateToURL('chrome://downloads') # trigger download manager 130 self.NavigateToURL('chrome://downloads') # trigger download manager
131 test_utils.RemoveDownloadedTestFile(self, zip_file) 131 test_utils.RemoveDownloadedTestFile(self, zip_file)
132 pre_download_ids = [x['id'] for x in self.GetDownloadsInfo().Downloads()]
132 self.DownloadAndWaitForStart(file_url) 133 self.DownloadAndWaitForStart(file_url)
133 # trigger page reload, which triggers the download infobar 134 # trigger page reload, which triggers the download infobar
134 self.GetBrowserWindow(0).GetTab(0).Reload() 135 self.GetBrowserWindow(0).GetTab(0).Reload()
135 self.assertTrue(self.WaitForInfobarCount(1)) 136 self.assertTrue(self.WaitForInfobarCount(1))
136 tab_info = self._GetTabInfo(0, 0) 137 tab_info = self._GetTabInfo(0, 0)
137 infobars = tab_info['infobars'] 138 infobars = tab_info['infobars']
138 self.assertTrue(infobars, 'Expected the multiple downloads infobar') 139 self.assertTrue(infobars, 'Expected the multiple downloads infobar')
139 self.assertEqual(1, len(infobars)) 140 self.assertEqual(1, len(infobars))
140 self.assertEqual(match_text, infobars[0]['text']) 141 self.assertEqual(match_text, infobars[0]['text'])
141 self.assertEqual(2, len(infobars[0]['buttons'])) 142 self.assertEqual(2, len(infobars[0]['buttons']))
142 self.assertEqual('Allow', infobars[0]['buttons'][0]) 143 self.assertEqual('Allow', infobars[0]['buttons'][0])
143 self.assertEqual('Deny', infobars[0]['buttons'][1]) 144 self.assertEqual('Deny', infobars[0]['buttons'][1])
144 self.WaitForAllDownloadsToComplete() 145 self.WaitForAllDownloadsToComplete(pre_download_ids)
145 test_utils.RemoveDownloadedTestFile(self, zip_file) 146 test_utils.RemoveDownloadedTestFile(self, zip_file)
146 147
147 def testPluginCrashForMultiTabs(self): 148 def testPluginCrashForMultiTabs(self):
148 """Verify plugin crash infobar shows up only on the tabs using plugin.""" 149 """Verify plugin crash infobar shows up only on the tabs using plugin."""
149 non_flash_url = self.GetFileURLForDataPath('english_page.html') 150 non_flash_url = self.GetFileURLForDataPath('english_page.html')
150 flash_url = self.GetFileURLForDataPath('plugin', 'FlashSpin.swf') 151 flash_url = self.GetFileURLForDataPath('plugin', 'FlashSpin.swf')
151 # False = Non flash url, True = Flash url 152 # False = Non flash url, True = Flash url
152 # We have set of these values to compare a flash page and a non-flash page 153 # We have set of these values to compare a flash page and a non-flash page
153 urls_type = [False, True, False, True, False] 154 urls_type = [False, True, False, True, False]
154 for count in range(2): 155 for count in range(2):
(...skipping 22 matching lines...) Expand all
177 self.assertTrue( 178 self.assertTrue(
178 self.WaitForInfobarCount(1, windex=0, tab_index=i), 179 self.WaitForInfobarCount(1, windex=0, tab_index=i),
179 msg='Expected crash infobar in tab at index %d' % i) 180 msg='Expected crash infobar in tab at index %d' % i)
180 infobar = self.GetBrowserInfo()['windows'][0]['tabs'][i]['infobars'] 181 infobar = self.GetBrowserInfo()['windows'][0]['tabs'][i]['infobars']
181 self.assertEqual(infobar[0]['type'], 'confirm_infobar') 182 self.assertEqual(infobar[0]['type'], 'confirm_infobar')
182 self.assertEqual(len(infobar), 1) 183 self.assertEqual(len(infobar), 1)
183 184
184 185
185 if __name__ == '__main__': 186 if __name__ == '__main__':
186 pyauto_functional.Main() 187 pyauto_functional.Main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698