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

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

Issue 10830193: Remove SWIGged use of BrowserProxy and TabProxy from PyAuto tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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/env python 1 #!/usr/bin/env 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 glob 6 import glob
7 import logging 7 import logging
8 import os 8 import os
9 import shutil 9 import shutil
10 import tempfile 10 import tempfile
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 # Assert the default. 205 # Assert the default.
206 translate_info = self.GetTranslateInfo() 206 translate_info = self.GetTranslateInfo()
207 self.assertFalse(translate_info['page_translated']) 207 self.assertFalse(translate_info['page_translated'])
208 self.assertTrue('translate_bar' in translate_info) 208 self.assertTrue('translate_bar' in translate_info)
209 # Select 'Always Translate'. 209 # Select 'Always Translate'.
210 self.SelectTranslateOption('toggle_always_translate') 210 self.SelectTranslateOption('toggle_always_translate')
211 self._ClickTranslateUntilSuccess() 211 self._ClickTranslateUntilSuccess()
212 translate_info = self.GetTranslateInfo() 212 translate_info = self.GetTranslateInfo()
213 self.assertTrue(translate_info['page_translated']) 213 self.assertTrue(translate_info['page_translated'])
214 # Reload the tab and confirm the page was translated. 214 # Reload the tab and confirm the page was translated.
215 self.GetBrowserWindow(0).GetTab(0).Reload() 215 self.ReloadTab()
216 self.assertTrue(self.WaitForInfobarCount(1)) 216 self.assertTrue(self.WaitForInfobarCount(1))
217 success = self.WaitUntilTranslateComplete() 217 success = self.WaitUntilTranslateComplete()
218 # Sometimes the translation fails. Continue clicking until it succeeds. 218 # Sometimes the translation fails. Continue clicking until it succeeds.
219 if not success: 219 if not success:
220 self._ClickTranslateUntilSuccess() 220 self._ClickTranslateUntilSuccess()
221 # Uncheck 'Always Translate' 221 # Uncheck 'Always Translate'
222 self.SelectTranslateOption('toggle_always_translate') 222 self.SelectTranslateOption('toggle_always_translate')
223 self.PerformActionOnInfobar('dismiss', 0) 223 self.PerformActionOnInfobar('dismiss', 0)
224 translate_info = self.GetTranslateInfo() 224 translate_info = self.GetTranslateInfo()
225 self.assertTrue(translate_info['page_translated']) 225 self.assertTrue(translate_info['page_translated'])
226 self.assertFalse('translate_bar' in translate_info) 226 self.assertFalse('translate_bar' in translate_info)
227 # Reload the tab and confirm that the page has not been translated. 227 # Reload the tab and confirm that the page has not been translated.
228 self.GetBrowserWindow(0).GetTab(0).Reload() 228 self.ReloadTab()
229 translate_info = self.GetTranslateInfo() 229 translate_info = self.GetTranslateInfo()
230 self.assertFalse(translate_info['page_translated']) 230 self.assertFalse(translate_info['page_translated'])
231 self.assertTrue('translate_bar' in translate_info) 231 self.assertTrue('translate_bar' in translate_info)
232 232
233 def testSessionRestore(self): 233 def testSessionRestore(self):
234 """Test that session restore restores the translate infobar and other 234 """Test that session restore restores the translate infobar and other
235 translate settings. 235 translate settings.
236 """ 236 """
237 # Due to crbug.com/51439, we must open two tabs here. 237 # Due to crbug.com/51439, we must open two tabs here.
238 self.NavigateToURL("http://www.news.google.com") 238 self.NavigateToURL("http://www.news.google.com")
(...skipping 21 matching lines...) Expand all
260 no_trans_url = self._GetDefaultEnglishURL() 260 no_trans_url = self._GetDefaultEnglishURL()
261 trans_url = self._GetDefaultSpanishURL() 261 trans_url = self._GetDefaultSpanishURL()
262 self._NavigateAndWaitForBar(trans_url) 262 self._NavigateAndWaitForBar(trans_url)
263 translate_info = self.GetTranslateInfo() 263 translate_info = self.GetTranslateInfo()
264 self.assertTrue('translate_bar' in translate_info) 264 self.assertTrue('translate_bar' in translate_info)
265 self.NavigateToURL(no_trans_url) 265 self.NavigateToURL(no_trans_url)
266 self.assertTrue(self.WaitForInfobarCount(0)) 266 self.assertTrue(self.WaitForInfobarCount(0))
267 self.assertFalse('translate_bar' in self.GetTranslateInfo()) 267 self.assertFalse('translate_bar' in self.GetTranslateInfo())
268 # Go back to the page that should be translated and assert that the 268 # Go back to the page that should be translated and assert that the
269 # translate bar re-appears. 269 # translate bar re-appears.
270 self.GetBrowserWindow(0).GetTab(0).GoBack() 270 self.TabGoBack()
271 self.assertTrue(self.WaitForInfobarCount(1)) 271 self.assertTrue(self.WaitForInfobarCount(1))
272 self.assertTrue('translate_bar' in self.GetTranslateInfo()) 272 self.assertTrue('translate_bar' in self.GetTranslateInfo())
273 273
274 # Now test going forward. 274 # Now test going forward.
275 self.NavigateToURL(no_trans_url) 275 self.NavigateToURL(no_trans_url)
276 translate_info = self.GetTranslateInfo() 276 translate_info = self.GetTranslateInfo()
277 self.assertFalse('translate_bar' in translate_info) 277 self.assertFalse('translate_bar' in translate_info)
278 self._AssertTranslateWorks(trans_url, self.spanish) 278 self._AssertTranslateWorks(trans_url, self.spanish)
279 self.GetBrowserWindow(0).GetTab(0).GoBack() 279 self.TabGoBack()
280 self.assertTrue(self.WaitForInfobarCount(0)) 280 self.assertTrue(self.WaitForInfobarCount(0))
281 translate_info = self.GetTranslateInfo() 281 translate_info = self.GetTranslateInfo()
282 self.assertFalse('translate_bar' in translate_info) 282 self.assertFalse('translate_bar' in translate_info)
283 self.GetBrowserWindow(0).GetTab(0).GoForward() 283 self.TabGoForward()
284 self.assertTrue(self.WaitForInfobarCount(1)) 284 self.assertTrue(self.WaitForInfobarCount(1))
285 translate_info = self.GetTranslateInfo() 285 translate_info = self.GetTranslateInfo()
286 self.assertTrue(translate_info['can_translate_page']) 286 self.assertTrue(translate_info['can_translate_page'])
287 self.assertTrue('translate_bar' in translate_info) 287 self.assertTrue('translate_bar' in translate_info)
288 288
289 def testForCrashedTab(self): 289 def testForCrashedTab(self):
290 """Tests that translate bar is dimissed if the renderer crashes.""" 290 """Tests that translate bar is dimissed if the renderer crashes."""
291 crash_url = 'about:crash' 291 crash_url = 'about:crash'
292 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) 292 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL())
293 translate_info = self.GetTranslateInfo() 293 translate_info = self.GetTranslateInfo()
(...skipping 18 matching lines...) Expand all
312 312
313 def testAlwaysTranslateLanguageButton(self): 313 def testAlwaysTranslateLanguageButton(self):
314 """Test the always translate language button.""" 314 """Test the always translate language button."""
315 spanish_url = self._GetDefaultSpanishURL() 315 spanish_url = self._GetDefaultSpanishURL()
316 self._NavigateAndWaitForBar(spanish_url) 316 self._NavigateAndWaitForBar(spanish_url)
317 317
318 # The 'Always Translate' button doesn't show up until the user has clicked 318 # The 'Always Translate' button doesn't show up until the user has clicked
319 # 'Translate' for a language 3 times. 319 # 'Translate' for a language 3 times.
320 for unused in range(3): 320 for unused in range(3):
321 self._ClickTranslateUntilSuccess() 321 self._ClickTranslateUntilSuccess()
322 self.GetBrowserWindow(0).GetTab(0).Reload() 322 self.ReloadTab()
323 323
324 # Click the 'Always Translate' button. 324 # Click the 'Always Translate' button.
325 self.assertTrue(self.GetTranslateInfo()\ 325 self.assertTrue(self.GetTranslateInfo()\
326 ['translate_bar']['always_translate_lang_button_showing']) 326 ['translate_bar']['always_translate_lang_button_showing'])
327 self.SelectTranslateOption('click_always_translate_lang_button') 327 self.SelectTranslateOption('click_always_translate_lang_button')
328 # Navigate to another Spanish page and verify it was translated. 328 # Navigate to another Spanish page and verify it was translated.
329 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=es') 329 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=es')
330 self.WaitUntilTranslateComplete() 330 self.WaitUntilTranslateComplete()
331 # Assert that a translation was attempted. We don't care if it was error 331 # Assert that a translation was attempted. We don't care if it was error
332 # or success. 332 # or success.
333 self.assertNotEqual(self.before_translate, 333 self.assertNotEqual(self.before_translate,
334 self.GetTranslateInfo()['translate_bar']['bar_state']) 334 self.GetTranslateInfo()['translate_bar']['bar_state'])
335 335
336 def testNeverTranslateLanguageButton(self): 336 def testNeverTranslateLanguageButton(self):
337 """Test the never translate language button.""" 337 """Test the never translate language button."""
338 spanish_url = self._GetDefaultSpanishURL() 338 spanish_url = self._GetDefaultSpanishURL()
339 self._NavigateAndWaitForBar(spanish_url) 339 self._NavigateAndWaitForBar(spanish_url)
340 340
341 # The 'Never Translate' button doesn't show up until the user has clicked 341 # The 'Never Translate' button doesn't show up until the user has clicked
342 # 'Nope' for a language 3 times. 342 # 'Nope' for a language 3 times.
343 for unused in range(3): 343 for unused in range(3):
344 self.SelectTranslateOption('decline_translation') 344 self.SelectTranslateOption('decline_translation')
345 self.GetBrowserWindow(0).GetTab(0).Reload() 345 self.ReloadTab()
346 346
347 # Click the 'Never Translate' button. 347 # Click the 'Never Translate' button.
348 self.assertTrue(self.GetTranslateInfo()\ 348 self.assertTrue(self.GetTranslateInfo()\
349 ['translate_bar']['never_translate_lang_button_showing']) 349 ['translate_bar']['never_translate_lang_button_showing'])
350 self.SelectTranslateOption('click_never_translate_lang_button') 350 self.SelectTranslateOption('click_never_translate_lang_button')
351 # Navigate to another Spanish page and verify the page can't be translated. 351 # Navigate to another Spanish page and verify the page can't be translated.
352 # First navigate to a French page, wait for bar, navigate to Spanish page 352 # First navigate to a French page, wait for bar, navigate to Spanish page
353 # and wait for bar to go away. 353 # and wait for bar to go away.
354 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=fr') 354 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=fr')
355 self.NavigateToURL('http://www.google.com/webhp?hl=es') 355 self.NavigateToURL('http://www.google.com/webhp?hl=es')
356 self.assertTrue(self.WaitForInfobarCount(0)) 356 self.assertTrue(self.WaitForInfobarCount(0))
357 self.assertFalse(self.GetTranslateInfo()['can_translate_page']) 357 self.assertFalse(self.GetTranslateInfo()['can_translate_page'])
358 358
359 def testChangeTargetLanguageAlwaysTranslate(self): 359 def testChangeTargetLanguageAlwaysTranslate(self):
360 """Tests that the change target language option works with always translate 360 """Tests that the change target language option works with always translate
361 on reload. 361 on reload.
362 362
363 This test is motivated by crbug.com/37313. 363 This test is motivated by crbug.com/37313.
364 """ 364 """
365 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) 365 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL())
366 self._ClickTranslateUntilSuccess() 366 self._ClickTranslateUntilSuccess()
367 # Select a different target language on translate info bar (French). 367 # Select a different target language on translate info bar (French).
368 self.ChangeTranslateToLanguage('French') 368 self.ChangeTranslateToLanguage('French')
369 translate_info = self.GetTranslateInfo() 369 translate_info = self.GetTranslateInfo()
370 self.assertTrue('translate_bar' in translate_info) 370 self.assertTrue('translate_bar' in translate_info)
371 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code']) 371 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code'])
372 # Select always translate Spanish to French. 372 # Select always translate Spanish to French.
373 self.SelectTranslateOption('toggle_always_translate') 373 self.SelectTranslateOption('toggle_always_translate')
374 # Reload the page and assert that the page has been translated to French. 374 # Reload the page and assert that the page has been translated to French.
375 self.GetBrowserWindow(0).GetTab(0).Reload() 375 self.ReloadTab()
376 self.WaitUntilTranslateComplete() 376 self.WaitUntilTranslateComplete()
377 translate_info = self.GetTranslateInfo() 377 translate_info = self.GetTranslateInfo()
378 self.assertTrue(translate_info['page_translated']) 378 self.assertTrue(translate_info['page_translated'])
379 self.assertTrue(translate_info['can_translate_page']) 379 self.assertTrue(translate_info['can_translate_page'])
380 self.assertTrue('translate_bar' in translate_info) 380 self.assertTrue('translate_bar' in translate_info)
381 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code']) 381 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code'])
382 382
383 def testSeveralLanguages(self): 383 def testSeveralLanguages(self):
384 """Verify translation for several languages. 384 """Verify translation for several languages.
385 385
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 def testNoTranslateInfobarAfterNeverTranslate(self): 511 def testNoTranslateInfobarAfterNeverTranslate(self):
512 """Verify Translate Info bar should not stay on the page after opting 512 """Verify Translate Info bar should not stay on the page after opting
513 Never translate the page""" 513 Never translate the page"""
514 url = self._GetDefaultSpanishURL() 514 url = self._GetDefaultSpanishURL()
515 self._NavigateAndWaitForBar(url) 515 self._NavigateAndWaitForBar(url)
516 self.SelectTranslateOption('never_translate_language') 516 self.SelectTranslateOption('never_translate_language')
517 self.assertFalse(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) 517 self.assertFalse(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars'])
518 518
519 if __name__ == '__main__': 519 if __name__ == '__main__':
520 pyauto_functional.Main() 520 pyauto_functional.Main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698