Bug 1107337: Update Marionette unit tests to use Marionette Driver modules; r=jgriffin

--HG--
extra : rebase_source : db859b19823fa6b05fe5f529458584f571e4e21d
This commit is contained in:
David Burns 2014-12-09 20:17:56 +00:00
parent cb7df25aff
commit 54d0aaf618
35 changed files with 79 additions and 90 deletions

View File

@ -1,5 +1,5 @@
from marionette import Actions
from errors import TimeoutException
from marionette_driver.marionette import Actions
from marionette_driver.errors import TimeoutException
def wait_for_condition_else_raise(marionette, wait_for_condition, expected, script):
try:

View File

@ -2,11 +2,12 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette import HTMLElement
from marionette_test import MarionetteTestCase
from errors import NoSuchElementException
from expected import element_present
from wait import Wait
from marionette_driver.errors import NoSuchElementException
from marionette_driver.expected import element_present
from marionette_driver.marionette import HTMLElement
from marionette_driver.wait import Wait
class TestAnonymousContent(MarionetteTestCase):
def setUp(self):

View File

@ -13,7 +13,7 @@
#See the License for the specific language governing permissions and
#limitations under the License.
from application_cache import ApplicationCache
from marionette_driver.application_cache import ApplicationCache
from marionette_test import MarionetteTestCase
@ -24,7 +24,7 @@ class AppCacheTests(MarionetteTestCase):
self.marionette.navigate(test_url)
app_cache = self.marionette.application_cache
status = app_cache.status
status = app_cache.status
while status == ApplicationCache.DOWNLOADING:
status = app_cache.status

View File

@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from errors import InvalidElementStateException
from marionette_driver.errors import InvalidElementStateException
class TestClear(MarionetteTestCase):
def testWriteableTextInputShouldClear(self):
@ -56,7 +56,7 @@ class TestClear(MarionetteTestCase):
element = self.marionette.find_element("id","content-editable")
element.clear()
self.assertEqual("", element.text)
def testTextInputShouldNotClearWhenDisabled(self):
test_html = self.marionette.absolute_url("test_clearing.html")
self.marionette.navigate(test_html)

View File

@ -2,10 +2,10 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from by import By
from errors import NoSuchElementException, ElementNotVisibleException
from marionette_driver.by import By
from marionette_driver.errors import NoSuchElementException, ElementNotVisibleException
from marionette_test import MarionetteTestCase
from wait import Wait
from marionette_driver.wait import Wait
class TestClick(MarionetteTestCase):

View File

@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from by import By
from marionette_driver.by import By
class TestClickChrome(MarionetteTestCase):

View File

@ -2,8 +2,8 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from by import By
from errors import MoveTargetOutOfBoundsException
from marionette_driver.by import By
from marionette_driver.errors import MoveTargetOutOfBoundsException
from marionette_test import MarionetteTestCase, skip

View File

@ -4,7 +4,7 @@
from marionette_test import MarionetteTestCase
from datetime import datetime
from date_time_value import DateTimeValue
from marionette_driver.date_time_value import DateTimeValue
class TestDateTime(MarionetteTestCase):

View File

@ -4,10 +4,9 @@
import sys
import errors
import marionette_test
from errors import ErrorCodes
from marionette_driver import errors
from marionette_driver.errors import ErrorCodes
def fake_cause():
try:

View File

@ -3,7 +3,9 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from errors import JavascriptException, MarionetteException, ScriptTimeoutException
from marionette_driver.errors import ( JavascriptException,
MarionetteException,
ScriptTimeoutException )
import time

View File

@ -3,7 +3,9 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase, skip_if_b2g
from errors import JavascriptException, MarionetteException, ScriptTimeoutException
from marionette_driver.errors import (JavascriptException,
MarionetteException,
ScriptTimeoutException)
class TestExecuteIsolationContent(MarionetteTestCase):
def setUp(self):

View File

@ -4,8 +4,8 @@
import urllib
from by import By
from errors import JavascriptException, MarionetteException
from marionette_driver.by import By
from marionette_driver.errors import JavascriptException, MarionetteException
from marionette_test import MarionetteTestCase
def inline(doc):

View File

@ -4,10 +4,11 @@
import urllib
import expected
from marionette_driver import expected
from marionette_driver.by import By
import marionette_test
from by import By
def inline(doc):
return "data:text/html;charset=utf-8,%s" % urllib.quote(doc)

View File

@ -3,9 +3,9 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from marionette import HTMLElement
from by import By
from errors import NoSuchElementException, InvalidSelectorException
from marionette_driver.marionette import HTMLElement
from marionette_driver.by import By
from marionette_driver.errors import NoSuchElementException, InvalidSelectorException
class TestElements(MarionetteTestCase):

View File

@ -3,9 +3,9 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from marionette import HTMLElement
from by import By
from errors import NoSuchElementException
from marionette_driver.marionette import HTMLElement
from marionette_driver.by import By
from marionette_driver.errors import NoSuchElementException
class TestElementsChrome(MarionetteTestCase):

View File

@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from errors import NoSuchElementException
from marionette_driver.errors import NoSuchElementException
class TestImplicitWaits(MarionetteTestCase):
def testShouldImplicitlyWaitForASingleElement(self):

View File

@ -4,7 +4,7 @@
import os
from marionette_test import MarionetteTestCase
from errors import JavascriptException
from marionette_driver.errors import JavascriptException
class TestImportScript(MarionetteTestCase):
def setUp(self):
@ -18,14 +18,14 @@ class TestImportScript(MarionetteTestCase):
def check_file_exists(self):
return self.marionette.execute_script("""
let FileUtils = SpecialPowers.Cu.import("resource://gre/modules/FileUtils.jsm", {}).FileUtils;
let importedScripts = FileUtils.getFile('TmpD', ['marionetteContentScripts']);
let importedScripts = FileUtils.getFile('TmpD', ['marionetteContentScripts']);
return importedScripts.exists();
""", special_powers=True)
def get_file_size(self):
return self.marionette.execute_script("""
let FileUtils = SpecialPowers.Cu.import("resource://gre/modules/FileUtils.jsm", {}).FileUtils;
let importedScripts = FileUtils.getFile('TmpD', ['marionetteContentScripts']);
let importedScripts = FileUtils.getFile('TmpD', ['marionetteContentScripts']);
return importedScripts.fileSize;
""", special_powers=True)
@ -109,7 +109,7 @@ class TestImportScript(MarionetteTestCase):
self.marionette.import_script(firstjs)
self.marionette.import_script(secondjs)
self.assertEqual("i'm a test function!",
self.assertEqual("i'm a test function!",
self.marionette.execute_script("return testFunc();"))
self.assertEqual("i'm yet another test function!",
@ -129,14 +129,14 @@ class TestImportScriptChrome(TestImportScript):
def check_file_exists(self):
return self.marionette.execute_async_script("""
let FileUtils = Components.utils.import("resource://gre/modules/FileUtils.jsm", {}).FileUtils;
let importedScripts = FileUtils.getFile('TmpD', ['marionetteChromeScripts']);
let importedScripts = FileUtils.getFile('TmpD', ['marionetteChromeScripts']);
marionetteScriptFinished(importedScripts.exists());
""")
def get_file_size(self):
return self.marionette.execute_async_script("""
let FileUtils = Components.utils.import("resource://gre/modules/FileUtils.jsm", {}).FileUtils;
let importedScripts = FileUtils.getFile('TmpD', ['marionetteChromeScripts']);
let importedScripts = FileUtils.getFile('TmpD', ['marionetteChromeScripts']);
marionetteScriptFinished(importedScripts.fileSize);
""")

View File

@ -2,14 +2,11 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase, skip_if_b2g, skip_if_e10s
from errors import MarionetteException, TimeoutException
class TestNavigate(MarionetteTestCase):
def test_navigate(self):
self.assertTrue(self.marionette.execute_script("window.location.href = 'about:blank'; return true;"))
self.assertEqual("about:blank", self.marionette.execute_script("return window.location.href;"))
test_html = self.marionette.absolute_url("test.html")
self.marionette.navigate(test_html)
self.assertNotEqual("about:blank", self.marionette.execute_script("return window.location.href;"))
self.assertEqual("Marionette Test", self.marionette.title)
@ -77,7 +74,6 @@ class TestNavigate(MarionetteTestCase):
self.assertTrue('test_iframe.html' in self.marionette.get_url())
'''
@skip_if_e10s # Interactions with about: pages need e10s support (bug 1096488).
def test_shouldnt_error_if_nonexistent_url_used(self):
try:
self.marionette.navigate("thisprotocoldoesnotexist://")
@ -85,20 +81,8 @@ class TestNavigate(MarionetteTestCase):
except TimeoutException:
self.fail("The socket shouldn't have timed out when navigating to a non-existent URL")
except MarionetteException as e:
self.assertIn("Error loading page", str(e))
except Exception as inst:
import traceback
print traceback.format_exc()
self.fail("Should have thrown a MarionetteException instead of %s" % type(inst))
@skip_if_e10s # Interactions with about: pages need e10s support (bug 1096488).
@skip_if_b2g # about:blocked isn't a well formed uri on b2g
def test_should_navigate_to_requested_about_page(self):
self.marionette.navigate("about:neterror")
self.assertEqual(self.marionette.get_url(), "about:neterror")
self.marionette.navigate(self.marionette.absolute_url("test.html"))
self.marionette.navigate("about:blocked")
self.assertEqual(self.marionette.get_url(), "about:blocked")
def test_find_element_state_complete(self):
test_html = self.marionette.absolute_url("test.html")

View File

@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
from errors import JavascriptException
from marionette_driver.errors import JavascriptException
from marionette_test import MarionetteTestCase
class TestLog(MarionetteTestCase):

View File

@ -4,7 +4,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from errors import MarionetteException
from marionette_driver.errors import MarionetteException
from marionette_test import MarionetteTestCase
from mozrunner.devices.emulator_screen import EmulatorScreen

View File

@ -2,7 +2,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from errors import MarionetteException
from marionette_driver.errors import MarionetteException
from marionette_test import MarionetteTestCase
class TestSetWindowSize(MarionetteTestCase):

View File

@ -3,7 +3,9 @@
# You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from errors import JavascriptException, MarionetteException, ScriptTimeoutException
from marionette_driver.errors import (JavascriptException,
MarionetteException,
ScriptTimeoutException)
class SimpletestSanityTest(MarionetteTestCase):

View File

@ -3,8 +3,8 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from marionette import Actions
from errors import MarionetteException
from marionette_driver.marionette import Actions
from marionette_driver.errors import MarionetteException
#add this directory to the path
import os
import sys

View File

@ -1,6 +1,6 @@
from marionette_test import MarionetteTestCase
from marionette import Actions
from errors import MarionetteException
from marionette_driver.marionette import Actions
from marionette_driver.errors import MarionetteException
#add this directory to the path
import os
import sys

View File

@ -3,7 +3,7 @@
# You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from errors import JavascriptException, MarionetteException
from marionette_driver.errors import JavascriptException, MarionetteException
class TestSpecialPowersContent(MarionetteTestCase):
@ -15,7 +15,7 @@ class TestSpecialPowersContent(MarionetteTestCase):
SpecialPowers.setCharPref("%(pref)s", "%(value)s");
return SpecialPowers.getCharPref("%(pref)s")
""" % {'pref': self.testpref, 'value': self.testvalue}, special_powers=True);
self.assertEqual(result, self.testvalue)
self.assertEqual(result, self.testvalue)
def test_prefs_after_navigate(self):
test_html = self.marionette.absolute_url("test.html")

View File

@ -4,11 +4,10 @@
import time
from by import By
from errors import NoSuchElementException
from marionette_driver.by import By
from marionette_driver.errors import NoSuchElementException
from marionette_driver.wait import Wait
from marionette_test import MarionetteTestCase
from wait import Wait
class TestSubmit(MarionetteTestCase):

View File

@ -3,8 +3,8 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from errors import JavascriptException
from errors import NoSuchFrameException
from marionette_driver.errors import (JavascriptException,
NoSuchFrameException)
class TestSwitchFrame(MarionetteTestCase):

View File

@ -48,9 +48,3 @@ class TestSwitchFrameChrome(MarionetteTestCase):
self.marionette.execute_async_script("foo();")
except JavascriptException as e:
self.assertIn("foo", e.msg)
def test_we_can_switch_to_a_browser_frame(self):
self.assertIn("test.xul", self.marionette.get_url(), "Initial navigation has failed")
browser = self.marionette.find_element(By.ID, 'aBrowser')
self.marionette.switch_to_frame(browser)
self.assertIn("test2.xul", self.marionette.get_url(), "Switching by element failed")

View File

@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from keys import Keys
from marionette_driver.keys import Keys
class TestText(MarionetteTestCase):

View File

@ -4,8 +4,11 @@
import os
from marionette_test import MarionetteTestCase
from marionette import HTMLElement
from errors import NoSuchElementException, JavascriptException, MarionetteException, ScriptTimeoutException
from marionette_driver.marionette import HTMLElement
from marionette_driver.errors import (NoSuchElementException,
JavascriptException,
MarionetteException,
ScriptTimeoutException)
class TestTimeouts(MarionetteTestCase):
def test_pagetimeout_notdefinetimeout_pass(self):

View File

@ -3,8 +3,8 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase, skip_if_b2g
from keys import Keys
from errors import ElementNotVisibleException
from marionette_driver.keys import Keys
from marionette_driver.errors import ElementNotVisibleException
class TestTyping(MarionetteTestCase):

View File

@ -5,11 +5,12 @@
import sys
import time
import errors
import wait
from marionette_driver import errors
from marionette_driver import wait
from marionette_driver.wait import Wait
from marionette_test import MarionetteTestCase
from wait import Wait
class TickingClock(object):
def __init__(self, incr=1):

View File

@ -13,7 +13,7 @@
#limitations under the License.
from marionette_test import MarionetteTestCase
from errors import MarionetteException
from marionette_driver.errors import MarionetteException
class TestWindowPosition(MarionetteTestCase):

View File

@ -2,10 +2,11 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
from by import By
from errors import NoSuchElementException
from marionette_test import MarionetteTestCase
from wait import Wait
from marionette_driver.by import By
from marionette_driver.errors import NoSuchElementException
from marionette_driver.wait import Wait
class TestWindowSwitching(MarionetteTestCase):

View File

@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
from marionette_test import MarionetteTestCase
from errors import MarionetteException
from marionette_driver.errors import MarionetteException
class TestSetContext(MarionetteTestCase):