Beispiel #1
0
    def run(self, browser=None, show_logs=False, app=None, seed=None):
        try:
            test_server = self._start_test_server(app, browser)

            url_builder = JasmineUrlBuilder(jasmine_config=self.jasmine_config)
            jasmine_url = url_builder.build_url(test_server.port, seed)
            self.browser.get(jasmine_url)

            WebDriverWait(self.browser, 100).until(
                lambda driver:
                driver.execute_script("return jsApiReporter.finished;")
            )

            parser = Parser()
            spec_results = self._get_spec_results(parser)
            top_suite_results = self._get_top_suite_results(parser)
            suite_results = self._get_suite_results(parser) + top_suite_results
            show_logs = self._get_browser_logs(show_logs=show_logs)
            actual_seed = self._get_seed()

            formatter = ConsoleFormatter(
                spec_results=spec_results,
                suite_results=suite_results,
                browser_logs=show_logs,
                seed=actual_seed
            )
            sys.stdout.write(formatter.format())
            if len(spec_results.failed()) or len(suite_results.failed()):
                sys.exit(1)
        finally:
            if hasattr(self, 'browser'):
                self.browser.close()
            if hasattr(self, 'test_server'):
                self.test_server.join()
Beispiel #2
0
    def run(self, browser=None, show_logs=False, app=None, seed=None):
        try:
            test_server = self._start_test_server(app, browser)

            netloc = "localhost:{0}".format(test_server.port)
            query_string = self._build_query_params(seed=seed)
            jasmine_url = urllib.parse.urlunparse(('http', netloc, "", "", query_string, ""))
            self.browser.get(jasmine_url)

            WebDriverWait(self.browser, 100).until(
                lambda driver:
                driver.execute_script("return jsApiReporter.finished;")
            )

            parser = Parser()
            spec_results = self._get_spec_results(parser)
            suite_results = self._get_suite_results(parser)
            show_logs = self._get_browser_logs(show_logs=show_logs)
            actual_seed = self._get_seed()

            formatter = ConsoleFormatter(
                spec_results=spec_results,
                suite_results=suite_results,
                browser_logs=show_logs,
                seed=actual_seed
            )
            sys.stdout.write(formatter.format())
            if (len(list(formatter.results.failed())) or
                    len(list(formatter.suite_results.failed()))):
                sys.exit(1)
        finally:
            if hasattr(self, 'browser'):
                self.browser.close()
            if hasattr(self, 'test_server'):
                self.test_server.join()
Beispiel #3
0
    def run(self, browser=None, show_logs=False, app=None, seed=None):
        try:
            test_server = self._start_test_server(app, browser)

            url_builder = JasmineUrlBuilder(jasmine_config=self.jasmine_config)
            jasmine_url = url_builder.build_url(test_server.port, seed)
            self.browser.get(jasmine_url)

            WebDriverWait(self.browser,
                          100).until(lambda driver: driver.execute_script(
                              "return jsApiReporter.finished;"))

            parser = Parser()
            spec_results = self._get_spec_results(parser)
            top_suite_results = self._get_top_suite_results(parser)
            suite_results = self._get_suite_results(parser) + top_suite_results
            show_logs = self._get_browser_logs(show_logs=show_logs)
            actual_seed = self._get_seed()

            formatter = ConsoleFormatter(spec_results=spec_results,
                                         suite_results=suite_results,
                                         browser_logs=show_logs,
                                         seed=actual_seed)
            sys.stdout.write(formatter.format())
            if len(spec_results.failed()) or len(suite_results.failed()):
                sys.exit(1)
        finally:
            if hasattr(self, 'browser'):
                self.browser.close()
            if hasattr(self, 'test_server'):
                self.test_server.join()
Beispiel #4
0
    def run(self, browser=None, show_logs=False, app=None, seed=None):
        try:
            port = self._find_unused_port()
            self.browser = self._get_browser(browser)
            self.test_server = self._start_test_server(app, port)

            url_builder = JasmineUrlBuilder(jasmine_config=self.jasmine_config)
            jasmine_url = url_builder.build_url(port, seed)
            self.browser.get(jasmine_url)

            WebDriverWait(self.browser, 100).until(
                lambda driver:
                driver.execute_script("return jsApiReporter.finished;")
            )

            parser = Parser()
            spec_results = self._get_spec_results(parser)
            top_suite_results = self._get_top_suite_results(parser)
            suite_results = self._get_suite_results(parser) + top_suite_results
            show_logs = self._get_browser_logs(show_logs=show_logs)
            actual_seed = self._get_seed()

            formatter = ConsoleFormatter(
                spec_results=spec_results,
                suite_results=suite_results,
                browser_logs=show_logs,
                seed=actual_seed
            )
            str_output = formatter.format()
            if sys.version_info[0] < 3:
                sys.stdout.write(str_output.encode('UTF8'))
            else:
                sys.stdout.write(str_output)

            overall_status = self._get_overall_status()

            if overall_status == 'incomplete':
                sys.stdout.write('Incomplete: %s\n' % self._get_incomplete_reason())

            if overall_status != 'passed':
                sys.exit(1)
        finally:
            if hasattr(self, 'browser'):
                self.browser.close()
            if hasattr(self, 'test_server'):
                self.test_server.join()
Beispiel #5
0
    def run(self, browser=None, show_logs=False, app=None, seed=None):
        try:
            port = self._find_unused_port()
            self.test_server = self._start_test_server(app, browser, port)

            url_builder = JasmineUrlBuilder(jasmine_config=self.jasmine_config)
            jasmine_url = url_builder.build_url(port, seed)
            self.browser.get(jasmine_url)

            WebDriverWait(self.browser, 100).until(
                lambda driver:
                driver.execute_script("return jsApiReporter.finished;")
            )

            parser = Parser()
            spec_results = self._get_spec_results(parser)
            top_suite_results = self._get_top_suite_results(parser)
            suite_results = self._get_suite_results(parser) + top_suite_results
            show_logs = self._get_browser_logs(show_logs=show_logs)
            actual_seed = self._get_seed()

            formatter = ConsoleFormatter(
                spec_results=spec_results,
                suite_results=suite_results,
                browser_logs=show_logs,
                seed=actual_seed
            )
            str_output = formatter.format()
            if sys.version_info[0] < 3:
                sys.stdout.write(str_output.encode('UTF8'))
            else:
                sys.stdout.write(str_output)

            overall_status = self._get_overall_status()

            if overall_status == 'incomplete':
                sys.stdout.write('Incomplete: %s\n' % self._get_incomplete_reason())

            if overall_status != 'passed':
                sys.exit(1)
        finally:
            if hasattr(self, 'browser'):
                self.browser.close()
            if hasattr(self, 'test_server'):
                self.test_server.join()
def _create_console_formatter(spec_results=None, suite_results=None, browser_logs=None, seed=None, colors=False):
    spec_results = spec_results or ResultList([])
    suite_results = suite_results or ResultList([])
    browser_logs = browser_logs or []

    return ConsoleFormatter(
        spec_results=spec_results,
        suite_results=suite_results,
        browser_logs=browser_logs,
        seed=seed,
        colors=colors,
    )