Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 """ | 6 """ |
| 7 This module is a simple qa tool that installs extensions and tests whether the | 7 This module is a simple qa tool that installs extensions and tests whether the |
| 8 browser crashes while visiting a list of urls. | 8 browser crashes while visiting a list of urls. |
| 9 | 9 |
| 10 Usage: python extensions.py -v | 10 Usage: python extensions.py -v |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 175 # Allow extension in incognito mode and verify. | 175 # Allow extension in incognito mode and verify. |
| 176 self.SetExtensionStateById(ext_id, enable=True, allow_in_incognito=True) | 176 self.SetExtensionStateById(ext_id, enable=True, allow_in_incognito=True) |
| 177 extension = self._GetExtensionInfoById(self.GetExtensionsInfo(), ext_id) | 177 extension = self._GetExtensionInfoById(self.GetExtensionsInfo(), ext_id) |
| 178 self.assertTrue(extension['allowed_in_incognito']) | 178 self.assertTrue(extension['allowed_in_incognito']) |
| 179 | 179 |
| 180 # Disallow extension in incognito mode and verify. | 180 # Disallow extension in incognito mode and verify. |
| 181 self.SetExtensionStateById(ext_id, enable=True, allow_in_incognito=False) | 181 self.SetExtensionStateById(ext_id, enable=True, allow_in_incognito=False) |
| 182 extension = self._GetExtensionInfoById(self.GetExtensionsInfo(), ext_id) | 182 extension = self._GetExtensionInfoById(self.GetExtensionsInfo(), ext_id) |
| 183 self.assertFalse(extension['allowed_in_incognito']) | 183 self.assertFalse(extension['allowed_in_incognito']) |
| 184 | 184 |
| 185 def testTriggerBrowserAction(self): | |
| 186 """Test triggering browser action.""" | |
| 187 dir_path = os.path.abspath( | |
| 188 os.path.join(self.DataDir(), 'extensions', 'trigger_actions', | |
| 189 'browser_action')) | |
| 190 ext_id = self.InstallExtension(dir_path, False) | |
| 191 self.assertTrue(ext_id, msg='Failed to install extension: %s.' % dir_path) | |
| 192 | |
| 193 self.NavigateToURL(self.GetFileURLForDataPath('simple.html')) | |
| 194 | |
| 195 self.TriggerBrowserActionById(ext_id) | |
| 196 | |
| 197 # Verify that the browser action turned the background red. | |
| 198 self.assertTrue(self.WaitUntil( | |
| 199 lambda: self.GetDOMValue('document.body.style.backgroundColor'), | |
| 200 expect_retval='red'), | |
| 201 msg='Browser action was not triggered.') | |
| 202 | |
| 203 def testTriggerBrowserActionWithPopup(self): | |
| 204 """Test triggering browser action that shows a popup.""" | |
| 205 dir_path = os.path.abspath( | |
| 206 os.path.join(self.DataDir(), 'extensions', 'trigger_actions', | |
| 207 'browser_action_popup')) | |
| 208 ext_id = self.InstallExtension(dir_path, False) | |
| 209 self.assertTrue(ext_id, msg='Failed to install extension: %s.' % dir_path) | |
| 210 | |
| 211 self.TriggerBrowserActionById(ext_id) | |
| 212 | |
| 213 # Verify that the extension popup is displayed. | |
| 214 popup = self.WaitUntilExtensionViewLoaded( | |
| 215 view_type='EXTENSION_POPUP') | |
| 216 self.assertTrue(popup, | |
| 217 msg='Browser action failed to display the popup (views=%s).' % | |
| 218 self.GetBrowserInfo()['extension_views']) | |
| 219 | |
| 220 def testTriggerPageAction(self): | |
| 221 """Test triggering page action.""" | |
| 222 dir_path = os.path.abspath( | |
| 223 os.path.join(self.DataDir(), 'extensions', 'trigger_actions', | |
| 224 'page_action')) | |
| 225 ext_id = self.InstallExtension(dir_path, False) | |
| 226 self.assertTrue(ext_id, msg='Failed to install extension: %s.' % dir_path) | |
| 227 | |
| 228 # Page action icon is displayed when a tab is created. | |
|
kkania
2011/11/21 18:53:58
I think we need another function for GetVisiblePag
frankf
2011/11/22 22:26:10
I've added this to GetBrowserInfo, same thing shou
| |
| 229 self.NavigateToURL(self.GetFileURLForDataPath('simple.html')) | |
| 230 self.AppendTab(pyauto.GURL('chrome://newtab')) | |
| 231 self.ActivateTab(0) | |
| 232 | |
| 233 self.TriggerPageActionById(ext_id) | |
| 234 | |
| 235 # Verify that page action turned the background red. | |
| 236 self.assertTrue(self.WaitUntil( | |
| 237 lambda: self.GetDOMValue('document.body.style.backgroundColor'), | |
| 238 expect_retval='red'), | |
| 239 msg='Page action was not triggered.') | |
| 240 | |
| 241 def testTriggerPageActionWithPopup(self): | |
| 242 """Test triggering page action that shows a popup.""" | |
| 243 dir_path = os.path.abspath( | |
| 244 os.path.join(self.DataDir(), 'extensions', 'trigger_actions', | |
| 245 'page_action_popup')) | |
| 246 ext_id = self.InstallExtension(dir_path, False) | |
| 247 self.assertTrue(ext_id, msg='Failed to install extension: %s.' % dir_path) | |
| 248 | |
| 249 # Page action icon is displayed when a tab is created. | |
| 250 self.AppendTab(pyauto.GURL('chrome://newtab')) | |
| 251 self.ActivateTab(0) | |
| 252 | |
| 253 self.TriggerPageActionById(ext_id) | |
| 254 | |
| 255 # Verify that the extension popup is displayed. | |
| 256 popup = self.WaitUntilExtensionViewLoaded( | |
| 257 view_type='EXTENSION_POPUP') | |
| 258 self.assertTrue(popup, | |
| 259 msg='Page action failed to display the popup (views=%s).' % | |
| 260 self.GetBrowserInfo()['extension_views']) | |
| 261 | |
| 185 def testAdblockExtensionCrash(self): | 262 def testAdblockExtensionCrash(self): |
| 186 """Test AdBlock extension successfully installed and enabled, and do not | 263 """Test AdBlock extension successfully installed and enabled, and do not |
| 187 cause browser crash. | 264 cause browser crash. |
| 188 """ | 265 """ |
| 189 crx_file_path = os.path.abspath( | 266 crx_file_path = os.path.abspath( |
| 190 os.path.join(self.DataDir(), 'extensions', 'adblock.crx')) | 267 os.path.join(self.DataDir(), 'extensions', 'adblock.crx')) |
| 191 ext_id = self.InstallExtension(crx_file_path, False) | 268 ext_id = self.InstallExtension(crx_file_path, False) |
| 192 self.assertTrue(ext_id, msg='Failed to install extension.') | 269 self.assertTrue(ext_id, msg='Failed to install extension.') |
| 193 | 270 |
| 194 self.RestartBrowser(clear_profile=False) | 271 self.RestartBrowser(clear_profile=False) |
| 195 extension = self._GetExtensionInfoById(self.GetExtensionsInfo(), ext_id) | 272 extension = self._GetExtensionInfoById(self.GetExtensionsInfo(), ext_id) |
| 196 self.assertTrue(extension['is_enabled']) | 273 self.assertTrue(extension['is_enabled']) |
| 197 self.assertFalse(extension['allowed_in_incognito']) | 274 self.assertFalse(extension['allowed_in_incognito']) |
| 198 | 275 |
| 199 | 276 |
| 200 if __name__ == '__main__': | 277 if __name__ == '__main__': |
| 201 pyauto_functional.Main() | 278 pyauto_functional.Main() |
| OLD | NEW |