Exemple #1
0
 def test_parse(self):
     parse = ParseSauceURL(self.url)
     self.assertEqual("foobar", parse.getUserName())
     self.assertEqual("1234-5678-9102-3456", parse.getAccessKey())
     self.assertEqual("simple test", parse.getJobName())
     self.assertEqual("Linux", parse.getOS())
     self.assertEqual("firefox", parse.getBrowser())
     self.assertEqual("7", parse.getBrowserVersion())
     self.assertEqual("", parse.getFirefoxProfileURL())
     self.assertEqual(300, parse.getMaxDuration())
     self.assertEqual(90, parse.getIdleTimeout())
     self.assertEqual("", parse.getUserExtensionsURL())
    def create(self):
        if 'SELENIUM_STARTING_URL' not in os.environ:
            startingUrl = "http://saucelabs.com"
        else:
            startingUrl = os.environ['SELENIUM_STARTING_URL']

        if 'SELENIUM_DRIVER' in os.environ and 'SELENIUM_HOST' in os.environ and 'SELENIUM_PORT' in os.environ:
            parse = ParseSauceURL(os.environ["SELENIUM_DRIVER"])
            driver = selenium(os.environ['SELENIUM_HOST'],
                              os.environ['SELENIUM_PORT'], parse.toJSON(),
                              startingUrl)
            driver.start()

            if parse.getMaxDuration() != 0:
                driver.set_timeout(parse.getMaxDuration())

            wrapper = Wrapper(driver, parse)
            wrapper.dump_session_id()
            return wrapper
        else:
            driver = selenium("localhost", 4444, "*firefox", startingUrl)
            driver.start()
            return driver
    def createWebDriver(self):
        if 'SELENIUM_STARTING_URL' not in os.environ:
            startingUrl = "http://saucelabs.com"
        else:
            startingUrl = os.environ['SELENIUM_STARTING_URL']

        if 'SELENIUM_DRIVER' in os.environ and 'SELENIUM_HOST' in os.environ and 'SELENIUM_PORT' in os.environ:
            parse = ParseSauceURL(os.environ["SELENIUM_DRIVER"])

            desired_capabilities = {}
            if parse.getBrowser() == 'android':
                desired_capabilities = webdriver.DesiredCapabilities.ANDROID
            elif parse.getBrowser() == 'googlechrome':
                desired_capabilities = webdriver.DesiredCapabilities.CHROME
            elif parse.getBrowser() == 'firefox':
                desired_capabilities = webdriver.DesiredCapabilities.FIREFOX
            elif parse.getBrowser() == 'htmlunit':
                desired_capabilities = webdriver.DesiredCapabilities.HTMLUNIT
            elif parse.getBrowser() == 'iexplore':
                desired_capabilities = webdriver.DesiredCapabilities.INTERNETEXPLORER
            elif parse.getBrowser() == 'iphone':
                desired_capabilities = webdriver.DesiredCapabilities.IPHONE
            else:
                desired_capabilities = webdriver.DesiredCapabilities.FIREFOX

            desired_capabilities['version'] = parse.getBrowserVersion()

            if 'SELENIUM_PLATFORM' in os.environ:
                desired_capabilities['platform'] = os.environ[
                    'SELENIUM_PLATFORM']
            else:
                #work around for name issues in Selenium 2
                if 'Windows 2003' in parse.getOS():
                    desired_capabilities['platform'] = 'XP'
                elif 'Windows 2008' in parse.getOS():
                    desired_capabilities['platform'] = 'VISTA'
                elif 'Linux' in parse.getOS():
                    desired_capabilities['platform'] = 'LINUX'
                else:
                    desired_capabilities['platform'] = parse.getOS()

            desired_capabilities['name'] = parse.getJobName()

            command_executor = "http://%s:%s@%s:%s/wd/hub" % (
                parse.getUserName(), parse.getAccessKey(),
                os.environ['SELENIUM_HOST'], os.environ['SELENIUM_PORT'])

            #make sure the test doesn't run forever if if the test crashes
            if parse.getMaxDuration() != 0:
                desired_capabilities['max-duration'] = parse.getMaxDuration()
                desired_capabilities['command-timeout'] = parse.getMaxDuration(
                )

            if parse.getIdleTimeout() != 0:
                desired_capabilities['idle-timeout'] = parse.getIdleTimeout()

            driver = webdriver.Remote(
                desired_capabilities=desired_capabilities,
                command_executor=command_executor)
            driver.get(startingUrl)
            wrapper = Wrapper(driver, parse)
            wrapper.dump_session_id()
            return wrapper

        else:
            return webdriver.Firefox()