Ejemplo n.º 1
0
    def test_generate_execution_report(self, project_class, test_utils):
        _, project = project_class.activate()
        execution = test_utils.execute_random_suite(project)
        os.remove(execution['report_path'])
        elapsed_time = 1122
        browsers = define_browsers(['chrome'], [], ['chrome'])
        processes = 2
        envs = ['test', 'staging']
        tags = ['foo', 'bar']
        remote_url = 'https://foo.bar'

        reprt = generate_execution_report(execution['exec_dir'], elapsed_time,
                                          browsers, processes, envs, tags,
                                          remote_url)

        expected_params = {
            'browsers': [{
                'name': 'chrome',
                'full_name': None,
                'remote': False,
                'capabilities': {}
            }],
            'processes':
            2,
            'environments': ['test', 'staging'],
            'tags': ['foo', 'bar'],
            'remote_url':
            ''
        }
        assert reprt['params'] == expected_params
        assert os.path.isfile(execution['report_path'])
Ejemplo n.º 2
0
 def test_define_browsers_drivers_empty(self):
     """Verify that _define_browsers returns correct value
     when selected drivers is empty
     """
     drivers = []
     expected = []
     drivers_defined = exc_runner.define_browsers(drivers, self.remote_browsers,
                                                  self.default_browsers)
     assert drivers_defined == expected
Ejemplo n.º 3
0
 def test_define_browsers_driver_is_not_defined(self):
     """Verify that _define_browsers raises the correct exception
     when a driver name that is not defined is passed
     """
     drivers = ['not_defined']
     expected_msg = ['Error: the browser {} is not defined\n'.format('not_defined'),
                     'available options are:\n',
                     '\n'.join(self.default_browsers),
                     '\n'.join(list(self.remote_browsers.keys()))]
     expected_msg = ''.join(expected_msg)
     with pytest.raises(Exception) as excinfo:      
         _ = exc_runner.define_browsers(drivers, self.remote_browsers, self.default_browsers)
     assert str(excinfo.value) == expected_msg
Ejemplo n.º 4
0
 def test_define_browsers_browser_order_of_preference(self):
     """Verify that _define_browsers selects the drivers in the correct
     order of precedence, first remote drivers then predefined drivers"""
     remote_drivers = {
         'chromex': {
             'browserName': 'chrome',
             'version': '60.0',
             'platform': 'macOS 10.12'
         }
     }
     default_drivers = ['chromex']
     drivers = ['chromex']
     drivers_defined = exc_runner.define_browsers(drivers, remote_drivers, default_drivers)
     assert len(drivers_defined) == 1
     assert drivers_defined[0]['remote'] == True
     assert drivers_defined[0]['capabilities']['version'] == '60.0'
Ejemplo n.º 5
0
 def test_driver_path_is_not_defined(self):
     execution.settings = settings_manager.assign_settings_default_values(
         {})
     execution.logger = execution_logger.get_logger()
     default_browsers = gui_utils.get_supported_browsers_suggestions()
     drivers = [
         ('chromedriver_path', 'chrome'),
         ('chromedriver_path', 'chrome-headless'),
         ('edgedriver_path', 'edge'),
         ('geckodriver_path', 'firefox'),
         ('iedriver_path', 'ie'),
         ('operadriver_path', 'opera'),
     ]
     for setting_path, browser_name in drivers:
         execution.browser_definition = execution_runner.define_browsers(
             [browser_name], [], default_browsers)[0]
         with pytest.raises(Exception) as excinfo:
             browser.open_browser()
             expected = 'Exception: {} setting is not defined'.format(
                 setting_path)
             assert expected in str(excinfo.value)
Ejemplo n.º 6
0
 def test_define_browsers(self):
     """Verify that _define_browsers returns the correct values"""
     browsers = ['chrome', 'chrome_60_mac']
     expected = [{
         'name': 'chrome',
         'full_name': None,
         'remote': False,
         'capabilities': {}
     }, {
         'name': 'chrome',
         'full_name': 'chrome_60_mac',
         'remote': True,
         'capabilities': {
             'browserName': 'chrome',
             'version': '60.0',
             'platform': 'macOS 10.12'
         }
     }]
     drivers_defined = exc_runner.define_browsers(browsers,
                                                  self.remote_browsers,
                                                  self.default_browsers)
     assert drivers_defined == expected
Ejemplo n.º 7
0
 def test_executable_not_present(self):
     execution.settings = settings_manager.assign_settings_default_values(
         {})
     execution.logger = execution_logger.get_logger()
     default_browsers = gui_utils.get_supported_browsers_suggestions()
     drivers = [
         ('chromedriver_path', './drivers/chromedriver*', 'chrome'),
         ('chromedriver_path', './drivers/chromedriver*',
          'chrome-headless'),
         ('edgedriver_path', './drivers/edgedriver*', 'edge'),
         ('geckodriver_path', './drivers/geckodriver*', 'firefox'),
         ('iedriver_path', './drivers/iedriver*', 'ie'),
         ('operadriver_path', './drivers/operadriver*', 'opera'),
     ]
     for setting_key, setting_path, browser_name in drivers:
         execution.browser_definition = execution_runner.define_browsers(
             [browser_name], [], default_browsers)[0]
         execution.settings[setting_key] = setting_path
         with pytest.raises(Exception) as excinfo:
             browser.open_browser()
             expected = 'No executable file found using path {}'.format(
                 setting_path)
             assert expected in str(excinfo.value)
Ejemplo n.º 8
0
def _define_browsers_mock(selected_browsers):
    default_browsers = gui_utils.get_supported_browsers_suggestions()
    return define_browsers(selected_browsers, [], default_browsers)