本文整理汇总了Python中serversetup.LoopTestServers类的典型用法代码示例。如果您正苦于以下问题:Python LoopTestServers类的具体用法?Python LoopTestServers怎么用?Python LoopTestServers使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LoopTestServers类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: 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")
开发者ID:Mardak,项目名称:loop,代码行数:31,代码来源:test_1_browser_call.py
示例2: setUp
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
LoopTestDriver.setUp(self)
self.e10s_enabled = os.environ.get("TEST_E10S") == "1"
# this is browser chrome, kids, not the content window just yet
self.driver.set_context("chrome")
开发者ID:Standard8,项目名称:loop,代码行数:10,代码来源:test_1_browser_call.py
示例3: setUp
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
MarionetteTestCase.setUp(self)
# Unfortunately, enforcing preferences currently comes with the side
# effect of launching and restarting the browser before running the
# real functional tests. Bug 1048554 has been filed to track this.
self.marionette.enforce_gecko_prefs(FIREFOX_PREFERENCES)
# this is browser chrome, kids, not the content window just yet
self.marionette.set_context("chrome")
开发者ID:KershawChang,项目名称:gecko-dev,代码行数:13,代码来源:test_1_browser_call.py
示例4: setUp
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
# Set the standalone url for these tests.
standalone_url = CONTENT_SERVER_URL + "/"
LoopTestDriver.setUp(self, extra_prefs={
"loop.linkClicker.url": standalone_url,
"webchannel.allowObject.urlWhitelist": CONTENT_SERVER_URL
})
self.e10s_enabled = os.environ.get("TEST_E10S") == "1"
# this is browser chrome, kids, not the content window just yet
self.driver.set_context("chrome")
开发者ID:Standard8,项目名称:loop,代码行数:15,代码来源:test_2_linkclicker.py
示例5: Test1BrowserCall
class Test1BrowserCall(MarionetteTestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
MarionetteTestCase.setUp(self)
# Unfortunately, enforcing preferences currently comes with the side
# effect of launching and restarting the browser before running the
# real functional tests. Bug 1048554 has been filed to track this.
self.marionette.enforce_gecko_prefs(FIREFOX_PREFERENCES)
# this is browser chrome, kids, not the content window just yet
self.marionette.set_context("chrome")
# taken from https://github.com/mozilla-b2g/gaia/blob/master/tests/python/gaia-ui-tests/gaiatest/gaia_test.py#L858
# XXX factor out into utility object for use by other tests
def wait_for_element_displayed(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException])\
.until(lambda m: m.find_element(by, locator).is_displayed())
return self.marionette.find_element(by, locator)
# XXX workaround for Marionette bug 1055309
def wait_for_element_exists(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException]) \
.until(lambda m: m.find_element(by, locator))
return self.marionette.find_element(by, locator)
def switch_to_panel(self):
button = self.marionette.find_element(By.ID, "loop-button")
# click the element
button.click()
# switch to the frame
frame = self.marionette.find_element(By.ID, "loop")
self.marionette.switch_to_frame(frame)
def load_and_verify_standalone_ui(self, url):
self.marionette.set_context("content")
self.marionette.navigate(url)
def start_a_conversation(self):
# TODO: wait for react elements
sleep(2)
button = self.marionette.find_element(By.CSS_SELECTOR, ".rooms .btn-info")
# click the element
button.click()
def get_and_verify_call_url(self):
# in the new room model we have to first start a conversation
self.start_a_conversation()
# TODO: wait for react elements
sleep(2)
call_url = self.marionette.find_element(By.CLASS_NAME, \
"room-url-link").text
self.assertIn(urlparse.urlparse(call_url).scheme, ['http', 'https'],
"call URL returned by server " + call_url +
" has invalid scheme")
return call_url
def start_and_verify_outgoing_call(self):
# TODO: wait for react elements
sleep(2)
# make the call!
call_button = self.marionette.find_element(By.CLASS_NAME,
"btn-join")
call_button.click()
def accept_and_verify_incoming_call(self):
self.marionette.set_context("chrome")
self.marionette.switch_to_frame()
# XXX should be using wait_for_element_displayed, but need to wait
# for Marionette bug 1055309 to be fixed.
chatbox = self.wait_for_element_exists(By.TAG_NAME, 'chatbox')
script = ("return document.getAnonymousElementByAttribute("
"arguments[0], 'class', 'chat-frame');")
frame = self.marionette.execute_script(script, [chatbox])
self.marionette.switch_to_frame(frame)
# expect a video container on desktop side
video = self.wait_for_element_displayed(By.CLASS_NAME, "media")
self.assertEqual(video.tag_name, "div", "expect a video container")
def hangup_call_and_verify_feedback(self):
self.marionette.set_context("chrome")
button = self.marionette.find_element(By.CLASS_NAME, "btn-hangup")
# XXX bug 1080095 For whatever reason, the click doesn't take effect
# unless we wait for a bit (even if we wait for the element to
# actually be displayed first, which we're not currently bothering
# with). It's not entirely clear whether the click is being
#.........这里部分代码省略.........
开发者ID:KershawChang,项目名称:gecko-dev,代码行数:101,代码来源:test_1_browser_call.py
示例6: Test1BrowserCall
class Test1BrowserCall(MarionetteTestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
MarionetteTestCase.setUp(self)
# Unfortunately, enforcing preferences currently comes with the side
# effect of launching and restarting the browser before running the
# real functional tests. Bug 1048554 has been filed to track this.
self.marionette.enforce_gecko_prefs(FIREFOX_PREFERENCES)
# this is browser chrome, kids, not the content window just yet
self.marionette.set_context("chrome")
# taken from https://github.com/mozilla-b2g/gaia/blob/master/tests/python/gaia-ui-tests/gaiatest/gaia_test.py#L858
# XXX factor out into utility object for use by other tests
def wait_for_element_displayed(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException])\
.until(lambda m: m.find_element(by, locator).is_displayed())
return self.marionette.find_element(by, locator)
def wait_for_subelement_displayed(self, parent, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException])\
.until(lambda m: parent.find_element(by, locator).is_displayed())
return parent.find_element(by, locator)
# XXX workaround for Marionette bug 1094246
def wait_for_element_exists(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException]) \
.until(lambda m: m.find_element(by, locator))
return self.marionette.find_element(by, locator)
def wait_for_element_enabled(self, element, timeout=10):
Wait(self.marionette, timeout) \
.until(lambda e: element.is_enabled(),
message="Timed out waiting for element to be enabled")
def wait_for_element_attribute_to_be_false(self, element, attribute, timeout=10):
Wait(self.marionette, timeout) \
.until(lambda e: element.get_attribute(attribute) == "false",
message="Timeout out waiting for " + attribute + " to be false")
def switch_to_panel(self):
button = self.marionette.find_element(By.ID, "loop-button")
# click the element
button.click()
# switch to the frame
frame = self.marionette.find_element(By.ID, "loop-panel-iframe")
self.marionette.switch_to_frame(frame)
def switch_to_chatbox(self):
self.marionette.set_context("chrome")
self.marionette.switch_to_frame()
# XXX should be using wait_for_element_displayed, but need to wait
# for Marionette bug 1094246 to be fixed.
chatbox = self.wait_for_element_exists(By.TAG_NAME, 'chatbox')
script = ("return document.getAnonymousElementByAttribute("
"arguments[0], 'class', 'chat-frame');")
frame = self.marionette.execute_script(script, [chatbox])
self.marionette.switch_to_frame(frame)
def switch_to_standalone(self):
self.marionette.set_context("content")
def local_start_a_conversation(self):
button = self.marionette.find_element(By.CSS_SELECTOR, ".rooms .btn-info")
self.wait_for_element_enabled(button, 120)
button.click()
def local_check_room_self_video(self):
self.switch_to_chatbox()
# expect a video container on desktop side
media_container = self.wait_for_element_displayed(By.CLASS_NAME, "media")
self.assertEqual(media_container.tag_name, "div", "expect a video container")
def local_get_and_verify_room_url(self):
button = self.wait_for_element_displayed(By.CLASS_NAME, "btn-copy")
button.click()
# click the element
room_url = pyperclip.paste()
self.assertIn(urlparse.urlparse(room_url).scheme, ['http', 'https'],
"room URL returned by server " + room_url +
" has invalid scheme")
return room_url
#.........这里部分代码省略.........
开发者ID:arroway,项目名称:gecko-dev,代码行数:101,代码来源:test_1_browser_call.py
示例7: Test1BrowserCall
class Test1BrowserCall(MarionetteTestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
MarionetteTestCase.setUp(self)
# Unfortunately, enforcing preferences currently comes with the side
# effect of launching and restarting the browser before running the
# real functional tests. Bug 1048554 has been filed to track this.
self.marionette.enforce_gecko_prefs(FIREFOX_PREFERENCES)
# this is browser chrome, kids, not the content window just yet
self.marionette.set_context("chrome")
# taken from https://github.com/mozilla-b2g/gaia/blob/master/tests/python/gaia-ui-tests/gaiatest/gaia_test.py#L858
# XXX factor out into utility object for use by other tests
def wait_for_element_displayed(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException])\
.until(lambda m: m.find_element(by, locator).is_displayed())
return self.marionette.find_element(by, locator)
def wait_for_subelement_displayed(self, parent, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException])\
.until(lambda m: parent.find_element(by, locator).is_displayed())
return parent.find_element(by, locator)
# XXX workaround for Marionette bug 1094246
def wait_for_element_exists(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException]) \
.until(lambda m: m.find_element(by, locator))
return self.marionette.find_element(by, locator)
def wait_for_element_enabled(self, element, timeout=10):
Wait(self.marionette, timeout) \
.until(lambda e: element.is_enabled(),
message="Timed out waiting for element to be enabled")
def wait_for_element_attribute_to_be_false(self, element, attribute, timeout=10):
Wait(self.marionette, timeout) \
.until(lambda e: element.get_attribute(attribute) == "false",
message="Timeout out waiting for " + attribute + " to be false")
def switch_to_panel(self):
button = self.marionette.find_element(By.ID, "loop-button")
# click the element
button.click()
# switch to the frame
frame = self.marionette.find_element(By.ID, "loop-panel-iframe")
self.marionette.switch_to_frame(frame)
def switch_to_chatbox(self):
self.marionette.set_context("chrome")
self.marionette.switch_to_frame()
# XXX should be using wait_for_element_displayed, but need to wait
# for Marionette bug 1094246 to be fixed.
chatbox = self.wait_for_element_exists(By.TAG_NAME, 'chatbox')
script = ("return document.getAnonymousElementByAttribute("
"arguments[0], 'class', 'chat-frame');")
frame = self.marionette.execute_script(script, [chatbox])
self.marionette.switch_to_frame(frame)
def switch_to_standalone(self):
self.marionette.set_context("content")
def local_start_a_conversation(self):
button = self.wait_for_element_displayed(By.CSS_SELECTOR, ".new-room-view .btn-info")
self.wait_for_element_enabled(button, 120)
button.click()
def local_check_room_self_video(self):
self.switch_to_chatbox()
# expect a video container on desktop side
media_container = self.wait_for_element_displayed(By.CLASS_NAME, "media-layout")
self.assertEqual(media_container.tag_name, "div", "expect a video container")
self.check_video(".local-video")
def local_get_and_verify_room_url(self):
self.switch_to_chatbox()
button = self.wait_for_element_displayed(By.CLASS_NAME, "btn-copy")
button.click()
# click the element
room_url = pyperclip.paste()
self.assertIn(urlparse.urlparse(room_url).scheme, ['http', 'https'],
"room URL returned by server: '" + room_url +
#.........这里部分代码省略.........
开发者ID:Chabma,项目名称:gecko-dev,代码行数:101,代码来源:test_1_browser_call.py
示例8: Test1BrowserCall
class Test1BrowserCall(LoopTestDriver, MarionetteTestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
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")
def standalone_check_remote_video(self):
self.switch_to_standalone()
self.check_video(".remote-video")
def local_check_remote_video(self):
self.switch_to_chatbox()
self.check_video(".remote-video")
def send_chat_message(self, text):
"""
Sends a chat message using the current context.
:param text: The text to send.
"""
chatbox = self.wait_for_element_displayed(By.CSS_SELECTOR,
".text-chat-box > form > input")
chatbox.send_keys(text + "\n")
def check_received_message(self, expectedText):
"""
Checks a chat message has been received in the current context. The
test assumes only one chat message will be received during the tests.
:param expectedText: The expected text of the chat message.
"""
text_entry = self.wait_for_element_displayed(By.CSS_SELECTOR,
".text-chat-entry.received > p")
self.assertEqual(text_entry.text, expectedText,
"should have received the correct message")
def check_text_messaging(self):
"""
Checks text messaging between the generator and clicker in a bi-directional
fashion.
"""
# Send a message using the link generator.
self.switch_to_chatbox()
self.send_chat_message("test1")
# Now check the result on the link clicker.
self.switch_to_standalone()
self.check_received_message("test1")
# Then send a message using the standalone.
self.send_chat_message("test2")
# Finally check the link generator got it.
self.switch_to_chatbox()
self.check_received_message("test2")
def standalone_check_remote_screenshare(self):
self.switch_to_standalone()
self.check_video(".screen-share-video")
def remote_leave_room(self):
self.switch_to_standalone()
button = self.marionette.find_element(By.CLASS_NAME, "btn-hangup")
button.click()
self.switch_to_chatbox()
# check that the local view reverts to the preview mode
self.wait_for_element_displayed(By.CLASS_NAME, "room-invitation-content")
#.........这里部分代码省略.........
开发者ID:Mardak,项目名称:loop,代码行数:101,代码来源:test_1_browser_call.py
示例9: Test1BrowserCall
class Test1BrowserCall(MarionetteTestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
MarionetteTestCase.setUp(self)
# Unfortunately, enforcing preferences currently comes with the side
# effect of launching and restarting the browser before running the
# real functional tests. Bug 1048554 has been filed to track this.
self.marionette.enforce_gecko_prefs(FIREFOX_PREFERENCES)
# this is browser chrome, kids, not the content window just yet
self.marionette.set_context("chrome")
# taken from https://github.com/mozilla-b2g/gaia/blob/master/tests/python/gaia-ui-tests/gaiatest/gaia_test.py#L858
# XXX factor out into utility object for use by other tests
def wait_for_element_displayed(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException])\
.until(lambda m: m.find_element(by, locator).is_displayed())
return self.marionette.find_element(by, locator)
# XXX workaround for Marionette bug 1055309
def wait_for_element_exists(self, by, locator, timeout=None):
Wait(self.marionette, timeout,
ignored_exceptions=[NoSuchElementException, StaleElementException]) \
.until(lambda m: m.find_element(by, locator))
return self.marionette.find_element(by, locator)
def switch_to_panel(self):
button = self.marionette.find_element(By.ID, "loop-button-throttled")
# click the element
button.click()
# switch to the frame
frame = self.marionette.find_element(By.ID, "loop")
self.marionette.switch_to_frame(frame)
def load_and_verify_standalone_ui(self, url):
self.marionette.set_context("content")
self.marionette.navigate(url)
call_url_link = self.marionette.find_element(By.CLASS_NAME, "call-url") \
.text
self.assertEqual(url, call_url_link,
"should be on the correct page")
def get_and_verify_call_url(self):
# get and check for a call url
url_input_element = self.wait_for_element_displayed(By.TAG_NAME,
"input")
# wait for pending state to finish
self.assertEqual(url_input_element.get_attribute("class"), "pending",
"expect the input to be pending")
# get and check the input (the "callUrl" class is only added after
# the pending class is removed and the URL has arrived).
#
# XXX should investigate getting rid of the fragile and otherwise
# unnecessary callUrl class and replacing this with a By.CSS_SELECTOR
# and some possible combination of :not and/or an attribute selector
# once bug 1048551 is fixed.
url_input_element = self.wait_for_element_displayed(By.CLASS_NAME,
"callUrl")
call_url = url_input_element.get_attribute("value")
self.assertNotEqual(call_url, u'',
"input is populated with call URL after pending"
" is finished")
self.assertIn(urlparse.urlparse(call_url).scheme, ['http', 'https'],
"call URL returned by server " + call_url +
" has invalid scheme")
return call_url
def start_and_verify_outgoing_call(self):
# make the call!
call_button = self.marionette.find_element(By.CLASS_NAME,
"btn-accept")
call_button.click()
# make sure the standalone progresses to the pending state
pending_header = self.wait_for_element_displayed(By.CLASS_NAME,
"pending-header")
self.assertEqual(pending_header.tag_name, "header",
"expect a pending header")
def accept_and_verify_incoming_call(self):
self.marionette.set_context("chrome")
self.marionette.switch_to_frame()
# XXX should be using wait_for_element_displayed, but need to wait
# for Marionette bug 1055309 to be fixed.
chatbox = self.wait_for_element_exists(By.TAG_NAME, 'chatbox')
script = ("return document.getAnonymousElementByAttribute("
"arguments[0], 'class', 'chat-frame');")
#.........这里部分代码省略.........
开发者ID:MSOpenTech,项目名称:Spidermonkey,代码行数:101,代码来源:test_1_browser_call.py
示例10: Test2Linkclicker
class Test2Linkclicker(LoopTestDriver, unittest.TestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
# Set the standalone url for these tests.
standalone_url = CONTENT_SERVER_URL + "/"
LoopTestDriver.setUp(self, extra_prefs={
"loop.linkClicker.url": standalone_url,
"webchannel.allowObject.urlWhitelist": CONTENT_SERVER_URL
})
self.e10s_enabled = os.environ.get("TEST_E10S") == "1"
# this is browser chrome, kids, not the content window just yet
self.driver.set_context("chrome")
def navigate_to_standalone(self, url):
self.switch_to_standalone()
self.driver.get(url)
def standalone_check_own_link_view(self):
view_container = self.wait_for_element_displayed_by_css_selector(
".handle-user-agent-view-scroller", 30)
self.assertEqual(view_container.tag_name, "div", "expect a error container")
def local_leave_room(self):
self.open_panel()
self.switch_to_panel()
button = self.driver.find_element_by_class_name("stop-sharing-button")
button.click()
def standalone_join_own_room(self):
button = self.wait_for_element_displayed_by_class_name("btn-info", 30)
button.click()
def standalone_check_error_text(self):
error_container = self.wait_for_element_displayed_by_class_name("failure", 30)
self.assertEqual(error_container.tag_name, "p", "expect a error container")
def test_2_own_room_test(self):
# Marionette doesn't make it easy to set up a page to load automatically
# on start. So lets load about:home. We need this for now, so that the
# various browser checks believe we've enabled e10s.
self.load_homepage()
self.open_panel()
self.switch_to_panel()
self.local_start_a_conversation()
# Force to close the share panel
self.local_close_share_panel()
room_url = self.local_get_and_verify_room_url()
self.local_leave_room()
# load the link clicker interface into the current content browser
self.navigate_to_standalone(room_url)
self.standalone_check_own_link_view()
self.standalone_join_own_room()
# Ensure we're on a different page so that we can navigate back to the room url later.
self.load_homepage()
self.local_check_room_self_video()
# reload the link clicker interface into the current content browser
self.navigate_to_standalone(room_url)
self.standalone_join_own_room()
self.standalone_check_error_text()
def tearDown(self):
self.loop_test_servers.shutdown()
self.driver.quit()
开发者ID:Standard8,项目名称:loop,代码行数:84,代码来源:test_2_linkclicker.py
示例11: Test2Linkclicker
class Test2Linkclicker(LoopTestDriver, MarionetteTestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
MarionetteTestCase.setUp(self)
LoopTestDriver.setUp(self, self.marionette)
standalone_url = CONTENT_SERVER_URL + "/"
prefs = copy.copy(FIREFOX_PREFERENCES)
prefs["loop.linkClicker.url"] = standalone_url
# No trailing slash on this one.
prefs["webchannel.allowObject.urlWhitelist"] = CONTENT_SERVER_URL
# 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(prefs)
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")
def navigate_to_standalone(self, url):
self.switch_to_standalone()
self.marionette.navigate(url)
def standalone_check_own_link_view(self):
view_container = self.wait_for_element_displayed(By.CSS_SELECTOR,
".handle-user-agent-view-scroller",
30)
self.assertEqual(view_container.tag_name, "div", "expect a error container")
def local_leave_room(self):
self.open_panel()
self.switch_to_panel()
button = self.marionette.find_element(By.CLASS_NAME, "stop-sharing-button")
button.click()
def standalone_join_own_room(self):
button = self.wait_for_element_displayed(By.CLASS_NAME, "btn-info", 30)
button.click()
def standalone_check_error_text(self):
error_container = self.wait_for_element_displayed(By.CLASS_NAME,
"failure",
30)
self.assertEqual(error_container.tag_name, "p", "expect a error container")
def test_2_own_room_test(self):
# Marionette doesn't make it easy to set up a page to load automatically
# on start. So lets load about:home. We need this for now, so that the
# various browser checks believe we've enabled e10s.
self.load_homepage()
self.open_panel()
self.switch_to_panel()
self.local_start_a_conversation()
# Force to close the share panel
self.local_close_share_panel()
room_url = self.local_get_and_verify_room_url()
self.local_leave_room()
# load the link clicker interface into the current content browser
self.navigate_to_standalone(room_url)
self.standalone_check_own_link_view()
self.standalone_join_own_room()
# Ensure we're on a different page so that we can navigate back to the room url later.
self.load_homepage()
self.local_check_room_self_video()
# reload the link clicker interface into the current content browser
#.........这里部分代码省略.........
开发者ID:kleopatra999,项目名称:loop,代码行数:101,代码来源:test_2_linkclicker.py
示例12: Test1BrowserCall
class Test1BrowserCall(LoopTestDriver, unittest.TestCase):
# XXX Move this to setup class so it doesn't restart the server
# after every test.
def setUp(self):
# start server
self.loop_test_servers = LoopTestServers()
LoopTestDriver.setUp(self)
self.e10s_enabled = os.environ.get("TEST_E10S") == "1"
# this is browser chrome, kids, not the content window just yet
self.driver.set_context("chrome")
def standalone_check_remote_video(self):
self.switch_to_standalone()
self.check_video(".remote-video")
def local_check_remote_video(self):
self.switch_to_chatbox()
self.check_video(".remote-video")
def send_chat_message(self, text):
"""
Sends a chat message using the current context.
:param text: The text to send.
"""
chatbox = self.wait_for_element_displayed_by_css_selector(".text-chat-box > form > input")
chatbox.send_keys(text + "\n")
def check_received_message(self, expectedText):
"""
Checks a chat message has been received in the current context. The
test assumes only one chat message will be received during the tests.
:param expectedText: The expected text of the chat message.
"""
text_entry = self.wait_for_element_displayed_by_css_selector(".text-chat-entry.received > p")
self.assertEqual(text_entry.text, expectedText,
"should have received the correct message")
def check_text_messaging(self):
"""
Checks text messaging between the generator and clicker in a bi-directional
fashion.
"""
# Send a message using the link generator.
self.switch_to_chatbox()
self.send_chat_message("test1")
# Now check the result on the link clicker.
self.switch_to_standalone()
self.check_received_message("test1")
# Then send a message using the standalone.
self.send_chat_message("test2")
# Finally check the link generator got it.
self.switch_to_chatbox()
self.check_received_message("test2")
def standalone_check_remote_screenshare(self):
self.switch_to_standalone()
self.check_video(".screen-share-video")
def remote_leave_room(self):
self.switch_to_standalone()
button = self.driver.find_element_by_class_name("btn-hangup")
button.click()
self.switch_to_chatbox()
# check that the local view reverts to the preview mode
self.wait_for_element_displayed_by_class_name("room-invitation-content")
def local_leave_room(self):
button = self.marionette.find_element_by_class_name("stop-sharing-button")
button.click()
def local_close_conversation(self):
self.set_context("chrome")
self.driver.switch_to.default_content()
script = ("var chatbox = document.getElementsByTagName('chatbox')[0];"
"return document.getAnonymousElementByAttribute("
"chatbox, 'class', 'chat-loop-hangup chat-toolbarbutton');")
close_button = self.driver.execute_script(script)
close_button.click()
def check_feedback_form(self):
self.switch_to_chatbox()
feedbackPanel = self.wait_for_element_displayed_by_css_selector(".feedback-view-container")
self.assertNotEqual(feedbackPanel, "")
#.........这里部分代码省略.........
开发者ID:Standard8,项目名称:loop,代码行数:101,代码来源:test_1_browser_call.py
注:本文中的serversetup.LoopTestServers类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论