def test_update_no_args(self, dir_function, test_utils):
     """Latest version of config.DEFAULT_DRIVERS are downloaded
     to current dir
     """
     tempdir = dir_function['path']
     os.chdir(tempdir)
     result = test_utils.run_command('webdriver-manager update')
     platform = helpers.get_platform()
     chromedriver = Chromedriver(tempdir, platform['os_name'],
                                 platform['os_bits'])
     latest_version_chrome = chromedriver.get_latest_remote_version()
     geckodriver = Geckodriver(tempdir, platform['os_name'],
                               platform['os_bits'])
     latest_version_gecko = geckodriver.get_latest_remote_version()
     files = os.listdir()
     expected_file_chrome = 'chromedriver_{}'.format(latest_version_chrome)
     if platform['os_name'] == 'windows':
         expected_file_chrome += '.exe'
     expected_file_gecko = 'geckodriver_{}'.format(latest_version_gecko)
     if platform['os_name'] == 'windows':
         expected_file_gecko += '.exe'
     assert len(files) == 2
     assert expected_file_chrome in files
     assert expected_file_gecko in files
     assert 'INFO updating chromedriver' in result
     assert 'INFO got {}'.format(expected_file_chrome) in result
     assert 'INFO updating geckodriver' in result
     assert 'INFO got {}'.format(expected_file_gecko) in result
 def test_get_latest_local_no_files_exist(self, dir_function):
     os.chdir(dir_function['path'])
     outputdir = helpers.normalize_outputdir()
     platform = helpers.get_platform()
     driver = Chromedriver(outputdir, 'linux', platform['os_bits'])
     latest_version = driver.get_latest_local_version()
     assert latest_version == '0.0'
 def test_get_latest_local_version_firefox(self, dir_function, test_utils):
     os.chdir(dir_function['path'])
     outputdir = helpers.normalize_outputdir()
     platform = helpers.get_platform()
     test_utils.create_test_files(outputdir)
     driver = Geckodriver(outputdir, 'linux', platform['os_bits'])
     latest_version = driver.get_latest_local_version()
     assert latest_version == '2.6'
 def test_update_local_version_higher_than_remote(self, dir_function, test_utils):
     tempdir = dir_function['path']
     os.chdir(tempdir)
     filename = 'chromedriver_99.99'
     if helpers.get_platform()['os_name'] == 'windows':
         filename += '.exe'
     open(filename, 'w+').close()
     result = test_utils.run_command('webdriver-manager update -d chrome')
     assert result == 'INFO chromedriver is up to date'
 def test_get_latest_local_version_chrome_windows(self, dir_function,
                                                  test_utils):
     os.chdir(dir_function['path'])
     outputdir = helpers.normalize_outputdir()
     platform = helpers.get_platform()
     test_utils.create_test_files_windows(outputdir)
     driver = Chromedriver(outputdir, 'windows', platform['os_bits'])
     latest_version = driver.get_latest_local_version()
     assert latest_version == '2.3'
 def test_update_version_specified_already_exists(self, dir_function, test_utils):
     tempdir = dir_function['path']
     os.chdir(tempdir)
     filename = 'chromedriver_2.38'
     if helpers.get_platform()['os_name'] == 'windows':
         filename += '.exe'
     open(filename, 'w+').close()
     result = test_utils.run_command('webdriver-manager update -d chrome=2.38')
     expected = 'WARNING file {} already exists, skipping'.format(filename)
     assert result == expected
 def test_update_specify_driver_version(self, dir_function, test_utils):
     tempdir = dir_function['path']
     os.chdir(tempdir)
     filename = 'chromedriver_2.38'
     if helpers.get_platform()['os_name'] == 'windows':
         filename += '.exe'
     result = test_utils.run_command('webdriver-manager update -d chrome=2.38')
     assert 'INFO updating chromedriver' in result
     assert 'INFO got {}'.format(filename) in result
     files = os.listdir()
     assert files == [filename]
 def test_update_local_version_lower_than_remote(self, dir_function, test_utils):
     tempdir = dir_function['path']
     os.chdir(tempdir)
     filename = 'chromedriver_1.1'
     if helpers.get_platform()['os_name'] == 'windows':
         filename += '.exe'
     open(filename, 'w+').close()
     result = test_utils.run_command('webdriver-manager update -d chrome')
     assert 'INFO updating chromedriver' in result
     assert 'INFO got chromedriver_' in result
     files = os.listdir()
     assert len(files) == 2
 def test_update_drivers_dir_exists(self, dir_function, test_utils):
     """Verify when ./drivers exists it is used as output dir"""
     tempdir = dir_function['path']
     os.chdir(tempdir)
     os.mkdir('./drivers')
     result = test_utils.run_command('webdriver-manager update -d chrome')
     platform = helpers.get_platform()
     chromedriver = Chromedriver(tempdir, platform['os_name'], platform['os_bits'])
     latest_version_chrome = chromedriver.get_latest_remote_version()
     files = os.listdir('./drivers')
     expected_file_chrome = 'chromedriver_{}'.format(latest_version_chrome)
     if platform['os_name'] == 'windows':
         expected_file_chrome += '.exe'
     assert files == [expected_file_chrome]
Exemple #10
0
 def test_update_chrome_local_is_up_to_date(self, dir_function, caplog):
     os.chdir(dir_function['path'])
     outputdir = helpers.normalize_outputdir()
     platform = helpers.get_platform()
     driver = Chromedriver(outputdir, platform['os_name'], platform['os_bits'])
     latest_version = driver.get_latest_remote_version()
     dummy_file = 'chromedriver_{}'.format(latest_version)
     if platform['os_name'] == 'windows':
         dummy_file += '.exe'
     open(os.path.join(outputdir, dummy_file), 'w+').close()
     update('chrome', outputdir)
     record = caplog.records[0]
     assert record.levelname == 'INFO'
     assert record.message == 'chromedriver is up to date'
Exemple #11
0
 def test_update_chrome_version_does_not_exist(self, dir_function, caplog):
     os.chdir(dir_function['path'])
     outputdir = helpers.normalize_outputdir()
     platform = helpers.get_platform()
     driver = Chromedriver(outputdir, platform['os_name'], platform['os_bits'])
     version = '99.99'
     with pytest.raises(SystemExit):
         update('chrome', outputdir, version=version)
     log_records = caplog.records
     assert log_records[0].levelname == 'INFO'
     assert log_records[0].message == 'updating chromedriver'
     assert log_records[1].levelname == 'ERROR'
     url = driver._get_chromedriver_download_url(version)
     msg = ('there was a 404 error trying to reach {} \nThis probably '
            'means the requested version does not exist.'.format(url))
     assert log_records[1].message == msg
Exemple #12
0
 def test_update_firefox_to_latest(self, dir_function, caplog):
     os.chdir(dir_function['path'])
     outputdir = helpers.normalize_outputdir()
     platform = helpers.get_platform()
     driver = Geckodriver(outputdir, platform['os_name'], platform['os_bits'])
     latest_version = driver.get_latest_remote_version()
     update('firefox', outputdir)
     files = os.listdir()
     expected_file = 'geckodriver_{}'.format(latest_version)
     if platform['os_name'] == 'windows':
         expected_file += '.exe'
     assert files == [expected_file]
     log_records = caplog.records
     assert log_records[0].levelname == 'INFO'
     assert log_records[0].message == 'updating geckodriver'
     assert log_records[1].levelname == 'INFO'
     assert log_records[1].message == 'got {}'.format(expected_file)
 def test_get_driver_full_filename_firefox_windows(self):
     platform = helpers.get_platform()
     driver = Geckodriver('', 'windows', platform['os_bits'])
     full_name = driver.get_driver_full_filename('2.2')
     assert full_name == 'geckodriver_2.2.exe'
 def test_get_driver_full_filename_chrome_windows(self):
     platform = helpers.get_platform()
     driver = Chromedriver('', 'windows', platform['os_bits'])
     full_name = driver.get_driver_full_filename('2.2')
     assert full_name == 'chromedriver_2.2.exe'