web-dev-qa-db-fra.com

Comment créer un profil dans Firefox avec Selenium WebDriver

Quand on écrit quelque chose comme ça:

FirefoxProfile ffprofile = new FirefoxProfile(new File("D:\\Selenium"));

Cela signifie-t-il que nous créons un nouveau profil? Parce que je ne pourrai trouver aucun nouveau profil dans la section Profil de Firefox.

Alors maintenant, ma question est la suivante: comment créer un nouveau profil pour un navigateur Firefox?

6
Niyati

L'appel de méthode que vous avez indiqué crée simplement un objet de profil Java à partir du répertoire donné d'informations de profil, qui est ensuite transmis à Firefox via l'instance WebDriver.

Pour que Firefox conserve votre pilote et le mette à disposition à partir du gestionnaire de profils, vous devez modifier le fichier profiles.ini. Sur mon ordinateur (Windows 7), cela se trouvait dans:

% APPDATA%\Roaming\Mozilla\Firefox

Le répertoire Profils de ce dossier contient les magasins des profils Firefox existants, qu’il est assez pratique de copier lorsque vous souhaitez utiliser un profil existant comme modèle pour un nouveau.

Votre kilométrage peut varier en fonction de votre système d'exploitation, mais je suis certain que vous pourrez le trouver en effectuant une recherche rapide. En utilisant votre exemple, vous ajouteriez ensuite ce qui suit dans ce fichier (où N dans l’en-tête est le prochain numéro de profil non utilisé):

[ProfileN]
Name=Selenium
IsRelative=0
Path=D:\Selenium

Ceci entraînera le chargement du profil par Firefox Profile Manager et vous permettra ensuite de lancer Firefox manuellement avec ce profil pour le configurer ou le tester, ce que je suppose que vous voulez faire.

Une fois que vous avez créé un profil nommé de cette manière, vous pouvez l’attribuer à votre pilote dans Selenium comme suit:

ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("Selenium");
WebDriver driver = FirefoxDriver(profile);

Où "Selenium" est identique à la propriété Name du fichier profiles.ini.

6
Dave Birch

Le code suivant va créer un profil firefox (basé sur le fichier fourni) et créer une nouvelle instance FF webdriver avec ce profil chargé:

FirefoxProfile profile = new FirefoxProfile(new File("D:\\Selenium Profile"));                  
WebDriver driver = new FirefoxDriver(profile);

Peut-être jetez-vous un coup d’œil sur page officielle du support pour le gestionnaire de profils FF Ou ici: Profil Firefox personnalisé pour Selenium pour avoir une idée des profils FF.

4
Michal

Vous ne pouvez pas créer de profil pour Firefox avec Selenium. Ce que vous pouvez faire est de créer un profil firefox pour votre pilote Web à partir des profils disponibles dans Firefox. Profil de Firefox Word semble un peu ambigu ici.

Pour créer un profil firefox dans un navigateur, référez-vous à support Mozilla page pour plus de détails.

1
Manu

Voici comment je fais avec Selenium 3 avec geckodriver:

  • Utiliser l'interface de ligne de commande firefox pour créer un profil

    firefox.exe -CreateProfile "nom_profil profil_dir" (en Java, exécutez cette exécution à l'aide de la fonction Runtime.getRuntime (). exec)

  • Définir l'argument -profile dans les options de Firefox

    FirefoxOptions options = new FirefoxOptions();
    options.addArguments("-profile", <profile_dir>);
    driver = new FirefoxDriver(options);
    
0
Mon Dev