本文整理汇总了Python中marionette.MarionetteTestCase类的典型用法代码示例。如果您正苦于以下问题:Python MarionetteTestCase类的具体用法?Python MarionetteTestCase怎么用?Python MarionetteTestCase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MarionetteTestCase类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
self.marionette.__class__ = type('Marionette', (Marionette, MarionetteTouchMixin), {})
self.device = GaiaDevice(self.marionette)
if self.restart and (self.device.is_android_build or self.marionette.instance):
self.device.stop_b2g()
if self.device.is_android_build:
# revert device to a clean state
self.device.manager.removeDir('/data/local/indexedDB')
self.device.manager.removeDir('/data/b2g/mozilla')
self.device.start_b2g()
self.marionette.setup_touch()
# the emulator can be really slow!
self.marionette.set_script_timeout(self._script_timeout)
self.marionette.set_search_timeout(self._search_timeout)
self.lockscreen = LockScreen(self.marionette)
self.apps = GaiaApps(self.marionette)
self.data_layer = GaiaData(self.marionette, self.testvars)
from gaiatest.apps.keyboard.app import Keyboard
self.keyboard = Keyboard(self.marionette)
self.cleanUp()
示例2: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
self.marionette.set_context("chrome")
self.win = self.marionette.current_window_handle
self.marionette.execute_script(
"window.open('chrome://marionette/content/test.xul', '_blank', 'chrome,centerscreen');"
)
示例3: setUp
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
MarionetteTestCase.setUp(self)
LoopTestDriver.setUp(self, self.marionette)
# Although some of these preferences might require restart, we don't
# use enforce_gecko_prefs (which would restart), as we need to restart
# for the add-on installation anyway.
self.marionette.set_prefs(FIREFOX_PREFERENCES)
xpi_file = os.environ.get("LOOP_XPI_FILE")
if xpi_file:
addons = Addons(self.marionette)
# XXX We should really use temp=True here, but due to the later
# restart to ensure the add-on is installed correctly, this won't work
# at the moment. What we need is a fully restartless add-on - bug 1229352
# at which point we should be able to make this install temporarily
# and after the restart.
addons.install(os.path.abspath(xpi_file))
self.e10s_enabled = os.environ.get("TEST_E10S") == "1"
# Restart the browser nicely, so the preferences and add-on installation
# take full effect.
self.marionette.restart(in_app=True)
# this is browser chrome, kids, not the content window just yet
self.marionette.set_context("chrome")
示例4: __init__
def __init__(self, *args, **kwargs):
self.restart = kwargs.pop('restart', False)
self.yocto = kwargs.pop('yocto', False)
kwargs.pop('iterations', None)
kwargs.pop('checkpoint_interval', None)
MarionetteTestCase.__init__(self, *args, **kwargs)
B2GTestCaseMixin.__init__(self, *args, **kwargs)
示例5: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
if self.marionette.session_capabilities["platformName"] == "Darwin":
self.mod_key = Keys.META
else:
self.mod_key = Keys.CONTROL
self.action = Actions(self.marionette)
示例6: tearDown
def tearDown(self):
# Force yet another restart with a clean profile to disconnect from the
# profile and environment changes we've made, to leave a more or less
# blank slate for the next person.
self.marionette.restart(clean=True, in_app=False)
self.setUpScriptData()
# Super
MarionetteTestCase.tearDown(self)
# Some helpers to deal with removing a load of files
import errno, stat
def handleRemoveReadonly(func, path, exc):
excvalue = exc[1]
if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES:
os.chmod(path, stat.S_IRWXU| stat.S_IRWXG| stat.S_IRWXO) # 0777
func(path)
else:
raise
if self.desktop_backup_path:
shutil.rmtree(self.desktop_backup_path, ignore_errors=False, onerror=handleRemoveReadonly)
if self.reset_profile_path:
# Remove ourselves from profiles.ini
profileLeafName = os.path.basename(os.path.normpath(self.reset_profile_path))
self.runCode("""
let [salt, name] = arguments[0].split(".");
let profile = global.profSvc.getProfileByName(name);
profile.remove(false)
global.profSvc.flush();
""", script_args=[profileLeafName])
# And delete all the files.
shutil.rmtree(self.reset_profile_path, ignore_errors=False, onerror=handleRemoveReadonly)
示例7: tearDown
def tearDown(self):
if any(sys.exc_info()):
# test has failed, gather debug
test_class, test_name = self.marionette.test_name.split()[-1].split('.')
xml_output = self.testvars.get('xml_output', None)
debug_path = os.path.join(xml_output and os.path.dirname(xml_output) or 'debug', test_class)
if not os.path.exists(debug_path):
os.makedirs(debug_path)
# screenshot
with open(os.path.join(debug_path, '%s_screenshot.png' % test_name), 'w') as f:
# TODO: Bug 818287 - Screenshots include data URL prefix
screenshot = self.marionette.screenshot()[22:]
f.write(base64.decodestring(screenshot))
# page source
with open(os.path.join(debug_path, '%s_source.txt' % test_name), 'w') as f:
f.write(self.marionette.page_source.encode('utf-8'))
# settings
with open(os.path.join(debug_path, '%s_settings.json' % test_name), 'w') as f:
f.write(json.dumps(self.data_layer.all_settings))
self.lockscreen = None
self.apps = None
self.data_layer = None
MarionetteTestCase.tearDown(self)
示例8: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
self.marionette.set_context("chrome")
self.win = self.marionette.current_window_handle
self.marionette.execute_script("window.open('chrome://marionette/content/test.xul', 'foo', 'chrome,centerscreen');")
self.marionette.switch_to_window('foo')
self.assertNotEqual(self.win, self.marionette.current_window_handle)
示例9: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
self.marionette.__class__ = type("Marionette", (Marionette, MarionetteTouchMixin), {})
self.marionette.setup_touch()
# the emulator can be really slow!
self.marionette.set_script_timeout(60000)
self.marionette.set_search_timeout(10000)
self.lockscreen = LockScreen(self.marionette)
self.apps = GaiaApps(self.marionette)
self.data_layer = GaiaData(self.marionette)
self.keyboard = Keyboard(self.marionette)
# wifi is true if testvars includes wifi details and wifi manager is defined
self.wifi = (
self.testvars
and "wifi" in self.testvars
and self.marionette.execute_script("return window.navigator.mozWifiManager !== undefined")
)
# device manager
dm_type = os.environ.get("DM_TRANS", "adb")
if dm_type == "adb":
self.device_manager = mozdevice.DeviceManagerADB()
elif dm_type == "sut":
host = os.environ.get("TEST_DEVICE")
if not host:
raise Exception("Must specify host with SUT!")
self.device_manager = mozdevice.DeviceManagerSUT(host=host)
else:
raise Exception("Unknown device manager type: %s" % dm_type)
self.cleanUp()
示例10: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
# the emulator can be really slow!
self.marionette.set_script_timeout(60000)
self.lockscreen = LockScreen(self.marionette)
self.apps = GaiaApps(self.marionette)
示例11: setUp
def setUp(self):
try:
MarionetteTestCase.setUp(self)
except InvalidResponseException:
if self.restart:
pass
self.device = GaiaDevice(self.marionette, self.testvars)
if self.restart and (self.device.is_android_build or self.marionette.instance):
self.device.stop_b2g()
if self.device.is_android_build:
# revert device to a clean state
self.device.manager.removeDir('/data/local/storage/persistent')
self.device.manager.removeDir('/data/b2g/mozilla')
self.device.start_b2g()
# the emulator can be really slow!
self.marionette.set_script_timeout(self._script_timeout)
self.marionette.set_search_timeout(self._search_timeout)
self.lockscreen = LockScreen(self.marionette)
self.apps = GaiaApps(self.marionette)
self.data_layer = GaiaData(self.marionette, self.testvars)
from gaiatest.apps.keyboard.app import Keyboard
self.keyboard = Keyboard(self.marionette)
self.cleanUp()
示例12: tearDown
def tearDown(self):
self.marionette.switch_to_frame()
if self.device.is_desktop_b2g and self.device.storage_path:
shutil.rmtree(self.device.storage_path, ignore_errors=True)
self.apps = None
self.data_layer = None
MarionetteTestCase.tearDown(self)
示例13: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
self.marionette.enforce_gecko_prefs({"dom.webcomponents.enabled": True})
self.marionette.navigate(self.marionette.absolute_url("test_shadow_dom.html"))
self.host = self.marionette.find_element(By.ID, "host")
self.marionette.switch_to_shadow_root(self.host)
self.button = self.marionette.find_element(By.ID, "button")
示例14: setUp
def setUp(self):
MarionetteTestCase.setUp(self)
self.marionette.enforce_gecko_prefs(
{"marionette.test.bool": True,
"marionette.test.string": "testing",
"marionette.test.int": 3
})
self.marionette.set_context("chrome")
示例15: tearDown
def tearDown(self):
# Ensure to restart a session if none exist for clean-up
if not self.marionette.session:
self.marionette.start_session()
self.marionette.clear_pref("browser.startup.page")
MarionetteTestCase.tearDown(self)