À propos du projet

Selenium est un projet parapluie englobant une variété d'outils et de bibliothèques permettant l'automatisation des navigateurs web. Il fournit une infrastructure pour la spécification W3C WebDriver, une interface de codage neutre en termes de plateforme et de langage, compatible avec tous les principaux navigateurs web. Le projet est rendu possible par des contributeurs bénévoles. Ce README s'adresse principalement aux développeurs souhaitant contribuer. Pour les utilisateurs, le Manuel d'utilisation et les canaux de support sont référencés. Les sections clés incluent : - **Contribuer** : Lire CONTRIBUTING.md avant de soumettre des pull requests. - **Installation** : Exigences pour l'environnement de développement local, notamment Bazelisk, Java JDK 17+, et une configuration spécifique à la plateforme pour macOS et Windows. Les alternatives incluent GitPod, Dev Containers et les images Docker. Conseils sur les worktrees pour le cache Bazel. - **Compilation** : Utilise Bazel avec un wrapper Rake personnalisé (`./go`). Commandes courantes : `bazel build`, `bazel run`, `bazel test`, `bazel query`. Les cibles de compilation sont définies dans les fichiers BUILD.bazel. Compilations spécifiques à un langage via `./go <language>:build`. - **Développement** : Détails pour Java (IntelliJ avec le plugin Bazel, Google Java Format), Python (linting ruff, installation locale), Ruby (débogage, RubyMine), Rust (dépendances depuis Cargo). - **Tests** : Configurations Bazel pour les tests, incluant l'épinglage du navigateur, le mode headless, les tentatives pour les tests instables, le parallélisme, le filtrage par taille et par tags. Instructions pour le serveur X virtuel sous Linux. - **Documentation** : Docs API pour C#, JavaScript, Java, Python, Ruby. Mise à jour via `./go <language>:docs`. - **Publication** : Processus sur le wiki, utilisant `./go all:release` ou des publications spécifiques à un langage.