本文整理汇总了Python中xvfbwrapper.Xvfb.start方法的典型用法代码示例。如果您正苦于以下问题:Python Xvfb.start方法的具体用法?Python Xvfb.start怎么用?Python Xvfb.start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xvfbwrapper.Xvfb
的用法示例。
在下文中一共展示了Xvfb.start方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: start_xvfb
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def start_xvfb():
from xvfbwrapper import Xvfb
if "DISPLAY" in os.environ:
del os.environ["DISPLAY"]
xvfb = Xvfb()
xvfb.start()
atexit.register(xvfb.stop)
示例2: main
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def main():
import sys
import imageio
import pandas as pd
import matplotlib.pyplot as plt
from xvfbwrapper import Xvfb
plt.ioff()
# with Xvfb() as xvfb:
# plt.ioff()
vdisplay = Xvfb()
vdisplay.start()
if len(sys.argv)<5:
subsampleRate = 10
else:
subsampleRate = int(sys.argv[4])
if len(sys.argv)<6:
speedup = 10
else:
speedup = int(sys.argv[5])
bounds2video(sys.argv[1],sys.argv[2],sys.argv[3],subsampleRate,speedup)
vdisplay.stop()
示例3: XvfbRobot
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class XvfbRobot(object):
"""
A robot library for creating virtual display on demand
"""
ROBOT_LIBRARY_SCOPE = "GLOBAL"
ROBOT_LIBRARY_VERSION = VERSION
_display = None
def start_virtual_display(self, width=1440, height=900, colordepth=24, **kwargs):
"""Starts virtual display which will be
destroyed after test execution will be end
*Arguments:*
- width: a width to be set in pixels
- height: a height to be set in pixels
- color_depth: a color depth to be used
- kwargs: extra parameters
*Example:*
| Start Virtual Display |
| Start Virtual Display | 1920 | 1080 |
| Start Virtual Display | ${1920} | ${1080} | ${16} |
"""
if self._display is None:
logger.info("Using virtual display: '{0}x{1}x{2}'".format(width, height, colordepth))
self._display = Xvfb(int(width), int(height), int(colordepth), **kwargs)
self._display.start()
atexit.register(self._display.stop)
示例4: test_start
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def test_start(self):
xvfb = Xvfb()
self.addCleanup(xvfb.stop)
xvfb.start()
display_var = ':{}'.format(xvfb.new_display)
self.assertEqual(display_var, os.environ['DISPLAY'])
self.assertIsNotNone(xvfb.proc)
示例5: test_start_with_arbitrary_kwargs
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def test_start_with_arbitrary_kwargs(self):
xvfb = Xvfb(nolisten='tcp', noreset=None)
self.addCleanup(xvfb.stop)
xvfb.start()
display_var = ':{}'.format(xvfb.new_display)
self.assertEqual(display_var, os.environ['DISPLAY'])
self.assertIsNotNone(xvfb.proc)
示例6: TestJavascript
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class TestJavascript(unittest.TestCase):
def setUp(self):
# Configure a web service.
handler = http.server.SimpleHTTPRequestHandler
address = ("127.0.0.1", 9999)
socketserver.TCPServer.allow_reuse_address = True # Prevents address conflicts.
httpd = socketserver.TCPServer(address, handler)
# Start the web service in a separate thread as deamon.
httpd_thread = threading.Thread(target=httpd.serve_forever)
httpd_thread.setDaemon(True)
httpd_thread.start()
# Start a display.
self.display = Xvfb()
self.display.start()
# Start the browser driver for selenium testing.
self.driver = webdriver.Firefox()
self.driver.get("http://localhost:9999/index.html")
def test_javascript(self):
# Create an instance of the selenium Firefox driver.
error = self.driver.find_elements_by_id("error")[0].text
self.assertEqual(error, "")
def tearDown(self):
self.display.stop()
示例7: get_mtgox_info
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def get_mtgox_info(input_vars):
vdisplay = Xvfb()
vdisplay.start()
driver = webdriver.Firefox()
driver.get("http://www.mtgox.com")
uelem = driver.find_element_by_name("username")
pelem = driver.find_element_by_name("password")
lelem = driver.find_element_by_name("LOGIN")
uelem.send_keys(input_vars['mtgoxId'])
time.sleep(0.25)
pelem.send_keys(input_vars['mtgoxPassword'])
time.sleep(0.25)
lelem.click()
time.sleep(0.25)
driver.get("https://www.mtgox.com/trade/funding-options")
time.sleep(0.25)
logout_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "logout")))
address_elem = driver.find_elements_by_xpath("/html/body/div[2]/div[2]/div[3]/div[3]/section/div/div[4]/div[2]/div/p/strong")
print address_elem
new_address=address_elem.text
示例8: enable
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def enable():
import time
import requests
import settings
from splinter import Browser
from xvfbwrapper import Xvfb
print "Trying to enable myself."
vdisplay = Xvfb()
vdisplay.start()
email = settings.getEmail()
password = settings.getPassword()
team_name = settings.getTeamName()
bot_user = settings.getBotUser()
browser = Browser('chrome')
url = 'https://{}.slack.com/services/{}'.format(team_name, bot_user)
browser.visit(url)
browser.fill('email', email)
browser.fill('password', password)
browser.find_by_id('signin_btn').first.click()
browser.find_link_by_text('Enable').first.click()
time.sleep(2) # Sometimes I saw a crash where there was no alert, so we'll wait a bit first.
alert = browser.get_alert()
alert.accept()
time.sleep(2) # If you close the display too quickly, the request doesn't get processed.
vdisplay.stop()
示例9: BaseTestCase
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class BaseTestCase(unittest.TestCase):
def setUp(self):
self.xvfb = os.environ.get("ENABLE_XVFB", False)
self.browser = os.environ.get("BROWSER", "Chrome")
if self.xvfb:
self.vdisplay = Xvfb(width=1280, height=720)
self.vdisplay.start()
if self.browser == "Firefox":
self.driver = self.get_ff_driver()
else:
self.driver = self.get_chrome_driver()
self.load = self.driver.get
def tearDown(self):
if self.driver:
self.driver.quit()
if self.xvfb and self.vdisplay:
self.vdisplay.stop()
def get_ff_driver(self):
return webdriver.Firefox()
def get_chrome_driver(self):
opts = Options()
if "TRAVIS" in os.environ: # github.com/travis-ci/travis-ci/issues/938
opts.add_argument("--no-sandbox")
# Fix for https://code.google.com/p/chromedriver/issues/detail?id=799
opts.add_experimental_option("excludeSwitches",
["ignore-certificate-errors"])
return webdriver.Chrome(chrome_options=opts)
示例10: Xvfb
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class Xvfb(Plugin):
def options(self, parser, env):
super(Xvfb, self).options(parser, env)
parser.add_option("--with-xvfb-options", action="store",
dest="xvfb_options",
default=env.get("NOSE_WITH_XVFB_OPTIONS"),
help="Options to pass to Xvfb. Comma delimited with "
"equals as separators if necessary. "
"E.g. \"extension=SELINUX, once\". Currently, there is no "
"way to provide options that begin with a +. This is a limitation "
"in xvfbwrapper. Repetition is not allowed. [NOSE_WITH_XVFB_OPTIONS]")
def configure(self, options, noseconfig):
super(Xvfb, self).configure(options, noseconfig)
self.xvfb_options = {}
if options.xvfb_options:
opts = [x.strip() for x in options.xvfb_options.split(",")]
for item in opts:
key, sign, value = item.partition("=")
if not value:
value = ''
self.xvfb_options[key] = value
def begin(self):
logger.info('Starting xvfb virtual display 1024x768 with %s' % self.xvfb_options)
self.vdisplay = XvfbWrapper(width=1024, height=768, **self.xvfb_options)
self.vdisplay.start()
def finalize(self, result):
logger.info('Stopping xvfb virtual display')
self.vdisplay.stop()
示例11: Webdriver
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class Webdriver(unittest.TestCase):
def setUp(self):
self.vdisplay = Xvfb(width=1280, height=720)
self.vdisplay.start()
# if(not vdisplay.start()):
# fo = open(LOG_FILE, "a")
# fo.write("Xvfbfailure||"+str(TREATMENTID)+"||"+str(ID)+"\n")
# fo.close()
# sys.exit(0)
if(BROWSER=='firefox'):
if (platform.system()=='Darwin'):
self.driver = webdriver.Firefox()
elif (platform.system()=='Linux'):
self.driver = webdriver.Firefox(proxy=proxy)
else:
print "Unidentified Platform"
sys.exit(0)
elif(BROWSER=='chrome'):
if (platform.system()=='Darwin'):
chromedriver = "./experiment/chromedriver/chromedriver_mac"
os.environ["webdriver.chrome.driver"] = chromedriver
self.driver = webdriver.Chrome(executable_path=chromedriver)
elif (platform.system() == 'Linux'):
chromedriver = "./experiment/chromedriver/chromedriver_linux"
os.environ["webdriver.chrome.driver"] = chromedriver
chrome_option = webdriver.ChromeOptions()
chrome_option.add_argument("--proxy-server=yogi.pdl.cmu.edu:3128" )
self.driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chrome_option)
else:
print "Unidentified Platform"
sys.exit(0)
else:
print "Unsupported Browser"
sys.exit(0)
self.driver.implicitly_wait(10)
self.base_url = "https://www.google.com/"
self.verificationErrors = []
self.driver.set_page_load_timeout(40)
self.accept_next_alert = True
def test_webdriver(self):
fo = open(AD_FILE, "w")
fo.close()
driver = self.driver
driver.get(SITE)
count = 0
while(count < N):
els = driver.find_elements_by_css_selector("li.site-listing div.desc-container p.desc-paragraph a")
for el in els:
if(count < N):
t = el.get_attribute('innerHTML').lower()
fo = open(AD_FILE, "a")
fo.write(t + '\n')
fo.close()
count += 1
driver.find_element_by_css_selector("a.next").click()
def tearDown(self):
self.vdisplay.stop()
self.driver.quit()
示例12: start_xvfb
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def start_xvfb(module):
try:
xvfb = Xvfb(width=1280, height=720)
xvfb.start()
atexit.register(xvfb.stop)
except:
module.fail_json(msg="xvfb broke")
示例13: __init__
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def __init__(self):
log.start(logfile=time.strftime("log/%Y%m%d%H%M%S")+".log",logstdout=False)
log.msg("initiating crawler...",level=log.INFO)
self.crawler_id = self.get_crawler_id()
log.msg("crawler id is %s" % self.crawler_id,level=log.INFO)
self.r.set('crawler:ip:%s' % self.crawler_id,utils.get_external_ip())
self.r.set('crawler:port:%s' % self.crawler_id,settings.REDIS_LOCAL_PORT)
self.r.set('crawler:mapping_port:%s' % self.crawler_id,settings.REDIS_LOCAL_MAPPING_PORT)
log.msg("crawler ip is %s, port is %d" % (utils.get_external_ip(),settings.REDIS_LOCAL_PORT),level=log.INFO)
account = self.get_account()
self.username = account[0]
self.password = account[1]
log.msg("crawler account got",level=log.INFO)
self.r_local.set('crawler:status:%s' % self.crawler_id, 'good')
self.r_local.set('crawler:update_time:%s' % self.crawler_id, datetime.datetime.utcnow().strftime("%s"))
log.msg("local crawler status set",level=log.INFO)
heartbeat_thread = threading.Thread(target=self.maintain_local_heartbeat)
heartbeat_thread.start()
log.msg("local crawler heartbeat started",level=log.INFO)
if platform.system() == "Linux":
#on linux, use virtual display
vdisplay = Xvfb()
vdisplay.start()
co = ChromeOptions()
#TODO: Disable image after log in
#TODO: optimize memory usage
co.add_experimental_option("prefs",{"profile.default_content_settings":{"popups":1}})
#co.add_experimental_option("prefs",{"profile.default_content_settings":{"popups":1,"images":2,"media":2}})
self.driver = webdriver.Chrome(chrome_options=co)
self.driver.set_window_size(640,960)
示例14: MainTest
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class MainTest(unittest.TestCase):
def setUp(self):
self.xvfb = Xvfb(width=1280, height=720)
self.xvfb.start()
self.browser = webdriver.Firefox()
self.addCleanup(self.browser.quit)
def test_main(self):
self.browser.get("http://www.youtube.com")
#self.browser.get("http://www.youtube.com//results?search_query=ionic")
search = self.browser.find_element_by_id("masthead-search-term")
search.send_keys('angular',Keys.RETURN)
self.browser.implicitly_wait(2)
self.browser.save_screenshot("youtube.png")
'''
with open('youtube.html','w') as html:
page = driver.page_source
html.write(page.encode('utf-8'))
'''
link_elements = self.browser.find_elements_by_xpath("//a[@title]")
f = csv.writer(open("youtube.csv", "w"))
f.writerow(["Name", " Link"])
for element in link_elements:
if len(element.text) > 5:
name = element.text
f.writerow([name.encode('utf-8')," "+ element.get_attribute("href")])
示例15: PBSeleniumTest
# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class PBSeleniumTest(unittest.TestCase):
def setUp(self):
env = os.environ
self.browser_bin = env.get("BROWSER_BIN", "") # o/w use WD's default
if "TRAVIS" in os.environ:
self.xvfb = 1
else:
# by default don't use XVFB if we are not running on CI
self.xvfb = int(env.get("ENABLE_XVFB", 0))
self.pb_ext_path = self.get_extension_path() # path to the extension
if self.xvfb:
self.vdisplay = Xvfb(width=1280, height=720)
self.vdisplay.start()
self.driver = self.get_chrome_driver()
self.js = self.driver.execute_script
def load_url(self, url, wait_on_site=0):
"""Load a URL and wait before returning."""
self.driver.get(url)
sleep(wait_on_site)
def get_extension_path(self):
"""Return the path to the extension to be tested."""
if "PB_EXT_PATH" in os.environ:
return os.environ["PB_EXT_PATH"]
else: # check the default path if PB_EXT_PATH env. variable is empty
print "Can't find the env. variable PB_EXT_PATH, will check ../.."
# if the PB_EXT_PATH environment variable is not set
# check the default location for the last modified crx file
exts = glob("../../*.crx") # get matching files
return max(exts, key=os.path.getctime) if exts else ""
def txt_by_css(self, css_selector, timeout=SEL_DEFAULT_WAIT_TIMEOUT):
"""Find an element by CSS selector and return it's text."""
return self.find_el_by_css(css_selector, timeout).text
def find_el_by_css(self, css_selector, timeout=SEL_DEFAULT_WAIT_TIMEOUT):
return WebDriverWait(self.driver, timeout).until(
EC.presence_of_element_located((By.CSS_SELECTOR, css_selector)))
def get_chrome_driver(self):
"""Setup and return a Chrom[e|ium] browser for Selenium."""
opts = Options()
absp = os.path.abspath
if "TRAVIS" in os.environ: # github.com/travis-ci/travis-ci/issues/938
opts.add_argument("--no-sandbox")
opts.add_extension(self.pb_ext_path) # will fail if ext can't be found
if self.browser_bin: # otherwise will use webdriver's default binary
print "Browser binary:", absp(self.browser_bin)
opts.binary_location = self.browser_bin # set binary location
# Fix for https://code.google.com/p/chromedriver/issues/detail?id=799
opts.add_experimental_option("excludeSwitches",
["ignore-certificate-errors"])
return webdriver.Chrome(chrome_options=opts)
def tearDown(self):
self.driver.quit()
if self.xvfb and self.vdisplay:
self.vdisplay.stop()