tis-wapt-selenium-webdriver-chrome icon

Selenium WebDriver Chrome

Paquet d’installation silencieuse pour Selenium WebDriver Chrome

144.0.7559.96-4
Development
Development

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-wapt-selenium-webdriver-chrome
  • name: Selenium WebDriver Chrome
  • version: 144.0.7559.96-4
  • categories: Development
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • editor: Chromium and WebDriver teams
  • licence: proprietary_free,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: chromedriver
  • architecture: x86
  • signature_date:
  • size: 9.07 Mo
  • installed_size: 14.32 Mo
  • homepage : https://chromedriver.chromium.org
  • conflicts :

package           : tis-wapt-selenium-webdriver-chrome
version           : 144.0.7559.96-4
architecture      : x86
section           : base
priority          : optional
name              : Selenium WebDriver Chrome
categories        : Development
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : This package is used for update packages that require selenium usage, it provides the chrome driver
depends           : 
conflicts         : tis-selenium-chrome-driver
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://googlechromelabs.github.io/chrome-for-testing/#stable
installed_size    : 14315520
impacted_process  : chromedriver
description_fr    : Ce paquet est utilisé pour mettre à jour les paquets qui nécessitent l'utilisation de selenium, il fournit le pilote chrome
description_pl    : Ten pakiet jest używany do aktualizacji pakietów, które wymagają użycia selenium, zapewnia sterownik chrome
description_de    : Dieses Paket wird für Update-Pakete verwendet, die die Verwendung von Selenium erfordern, und stellt den Chrome-Treiber bereit
description_es    : Este paquete se utiliza para actualizar paquetes que requieren el uso de selenium, proporciona el controlador de chrome
description_pt    : Este pacote é utilizado para atualizar pacotes que requerem a utilização do selénio e fornece o controlador do chrome
description_it    : Questo pacchetto è usato per aggiornare i pacchetti che richiedono l'uso di Selenium e fornisce il driver di chrome
description_nl    : Dit pakket wordt gebruikt voor het bijwerken van pakketten die selenium vereisen, het biedt het chrome stuurprogramma
description_ru    : Этот пакет используется для обновления пакетов, требующих использования selenium, он предоставляет драйвер chrome
audit_schedule    : 
editor            : Chromium and WebDriver teams
keywords          : selenium,driver,chrome
licence           : proprietary_free,wapt_public
homepage          : https://chromedriver.chromium.org
package_uuid      : a3bf74b5-8380-481f-a15b-34ab249b27d8
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-21T00:02:09.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : bybJm8jrfkJfUZhTs91QZEe9jpzXPCSZpE81ojRBDm4E3qoXrU/5Jo8BW23r3ZW4KlUPcsPCAKJjisDl5tsPCf7jS80gB115w29DcvuW3FjieKZuDarkM8FFy7ihrFF1V2Ffq2GB8cHa1F60+uLWn2HN0gpPgch5R7CzcJFOJc5FORy2gn5HOadqef45XgkmPZAxMXsW+4pLFcx2nRCOYtE76CuhKhGonEPEU78URBYHoIVeTQK91nWq4pKZ8ZBS0O49/y1gZkB6CQSfERSz/uPsREqcJ/oMWAVUYtzBP/F6zmFJU4FleyCyZYnXUoVNuI6L/SMcYggDVhDlX0Zh6Q==

# -*- coding: utf-8 -*-
from setuphelpers import *


bin_name = "chromedriver.exe"


def install():
    zip_name = glob.glob("chromedriver-*.zip")[0]
    zip_dir = zip_name.split(".zip")[0]
    unzip(zip_name, ".", f"{zip_dir}/{bin_name}", False)

    selenium_wapt_dir = makepath(WAPT.wapt_base_dir, "selenium")
    mkdirs(selenium_wapt_dir)
    driver_path = makepath(selenium_wapt_dir, bin_name)
    print(f'Copying: "{driver_path}" ({control.get_software_version()})')
    filecopyto(bin_name, selenium_wapt_dir)

    if not installed_softwares(name="^Google Chrome$") and not params.get("running_as_luti"):
        print(f'ERROR: You must install Google Chrome to use {control.name}\nYou can use the package "tis-chrome" for example')


def audit():
    # Declaring local variables
    audit_result = "OK"
    app_check = installed_softwares(name="^Google Chrome$")
    audit_version = True

    # Auditing software
    if not app_check and not params.get("running_as_luti"):
        print("%s is not installed" % control.package.split("-", 1)[-1].replace("-", " ").title())
        audit_result = "ERROR"
    elif audit_version:
        for to_audit in app_check:
            if Version(to_audit["version"], 1) != Version(control.get_software_version(), 1):
                print(
                    f'{to_audit["name"]} version is: {to_audit["version"]} and {control.name} version is: {control.get_software_version()}\n{control.name} may not work.'
                )
                audit_result = "WARNING"

    # audit_result = "OK"  # No longer return status since this package will be included in tis-wapt-selenium
    return audit_result


def uninstall():
    selenium_wapt_dir = makepath(WAPT.wapt_base_dir, "selenium")
    driver_path = makepath(selenium_wapt_dir, bin_name)
    if isfile(driver_path):
        print(f'Removing: "{driver_path}"')
        remove_file(driver_path)
    if dir_is_empty(selenium_wapt_dir):
        print(f'Removing: "{selenium_wapt_dir}"')
        remove_tree(selenium_wapt_dir)

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    api_url = "https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json"
    download_dict = {
        "windows-x64": "win64",
        "windows-x86": "win32",
        "windows-all": "win32",
        "debian(>8),ubuntu,redhat_based-all": "linux64",
        "darwin-all": "mac-x64",
        "darwin-x64": "mac-x64",
        "darwin-arm64": "mac-arm64",
    }
    download_str = download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]]

    # Getting latest version information from official sources
    print("API used is: %s" % api_url)
    json_load = wgets(api_url, proxies=proxies, as_json=True)["channels"]["Stable"]
    version = json_load["version"]
    for to_download in json_load["downloads"]["chromedriver"]:
        if to_download["platform"] == download_dict[control.target_os + "-" + ensure_list(control.architecture)[0]]:
            download_url = to_download["url"]
            latest_bin = to_download["url"].split("/")[-1]
            break

    # Downloading latest binaries
    print("Latest %s version is: %s" % (control.name, version))
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print("Binary is present: %s" % latest_bin)

    # Deleting outdated binaries
    remove_outdated_binaries(latest_bin, "zip")
    # arch_list = ensure_list(control.architecture)
    # remove_outdated_binaries(version, filename_contains=("x64" if "x64" in arch_list else "x86" if "x86" in arch_list else []))

    # # Checking version from file
    # if get_os_name() == "Windows" and "windows" in control.target_os.lower():
    #     version_from_file = get_version_from_binary(latest_bin)
    #     if Version(version_from_file, 4) == Version(version, 4):
    #         print(f"INFO: Binary file version ({version_from_file}) corresponds to online version ({version})")
    #     else:
    #         error(f"ERROR: Binary file version ({version_from_file}) do NOT corresponds to online version ({version})")

    # Changing version of the package
    if Version(version, 4) > Version(control.get_software_version(), 4):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating update-package-sources
    return package_updated

    # # Changing version of the package and validating update-package-sources
    # return complete_control_version(control, version)

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
58f337ed68861e3aebb59a52d3c9ae98891b5003dbfbc31b1ca11927c83bfc26 : WAPT/control
057315a8260cf30af51ee9b8dd8fbdf10a0f0ffb9825e7409be03e3c9ae9d552 : WAPT/icon.png
6c7ed11d43d81bd36b6719134903b80a5eadcc8fe7a0851e039ccb9486d03823 : chromedriver-win32.zip
7a4d96eeaaf1954a4ad1ebfb0d76885b8c254fffe3b134882d7ba9a12c99f497 : luti.json
fe0193d555e66d4771866f7ef848d0a04f415ec5661ef1fb2fd43bd377400787 : setup.py
64b0d93eb7a1c324ad3a3e6ac387127867ed8d8e13b3891f72ab12dc791f78db : update_package.py