2016-07-21 19 views
0

Nachdem ich ein Profil für die Ausführung von Tests in Firefox eingerichtet habe, setze ich die Download-Popups auf false, sehe es aber immer noch beim Ausführen meiner Tests. Hier wird das Profil Ich bin Einrichtung:Firefox-Download-Popup bleibt nach der Profileinstellung in Selenium bestehen

 switch (browser){ 
     case "FFX": 
      System.out.println("Starting test in FireFox"); 
      try { 
       driver = new FirefoxDriver(firefoxProfile()); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      //TODO Create a system properties file in case driver location moves. 
      break; 

    ... 
    public static FirefoxProfile firefoxProfile() throws Exception { 

    FirefoxProfile firefoxProfile = new FirefoxProfile(); 
    firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete", false);   
    firefoxProfile.setPreference("browser.download.manager.alertOnEXEOpen", false); 
    firefoxProfile.setPreference("browser.download.manager.focusWhenStarting", false); 
    firefoxProfile.setPreference("browser.download.manager.useWindow", false); 
    firefoxProfile.setPreference("browser.download.manager.showWhenStarting", false); 
    firefoxProfile.setPreference("browser.download.manager.closeWhenDone", false); 
    firefoxProfile.setPreference("browser.download.animateNotifications", false); 
    firefoxProfile.setPreference("browser.download.folderList", 2);  
    firefoxProfile.setPreference("browser.download.dir", downloadPath); 
    firefoxProfile.setPreference("browser.helperApps.alwaysAsk.force", false); 
    firefoxProfile.setPreference("browser.helperApps.neverAsk.openFile", 
      "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/" 
      + "png,image/jpeg,text/html,text/plain,application/msword,application/xml"); 
    firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", 
      "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/" 
      + "png,image/jpeg,text/html,text/plain,application/msword,application/xml"); 
    // ProfilesIni profile = new ProfilesIni(); 
    // firefoxProfile = profile.getProfile("selenium"); 

    return firefoxProfile; 

Aber ich bin immer noch dieses Fenster immer:

test

Bin ich einen Eintrag für mein Profil Einstellungen fehlt? Ich dachte, es wäre:

firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete", false); 

EDIT: Ich habe mehr dazu hinzugefügt, wie ich meinen Fahrer bin Einrichtung und wie ich mein Profil baue. Ich habe auch den auskommentierten Teil hinzugefügt, wo ich einfach dem Fahrer ein Profil "selen" zuweise. Momentan passiert, dass der Treiber startet, als ob er jedes Mal "frisch aus der Box" neu installiert wurde. Es hält sich nur an die setPreferences (oder fast alle von ihnen) und ignoriert jedes benutzerdefinierte Profil, das ich im Voraus eingerichtet habe. Die laufende Downloadbestätigungsbenachrichtigung ist wirklich, was meine Tests hier tötet. Irgendwelche Ideen oder Beobachtungen werden sehr geschätzt.

Antwort

0

Sobald Sie den Selencode ausgeführt haben, können Sie manuell überprüfen, ob die Einstellung korrekt ist, indem Sie in der Firefox-URL-Leiste "über: config" eingeben. Versuchen Sie auch, browser.download.animateNotifications zu false auf der Seite about: config zu wechseln. Ich hoffe es hilft.

+0

Ich habe das versucht und es hat nicht funktioniert Ich habe Angst. Ich würde gerne ein benutzerdefiniertes Profil verwenden, aber Firefox scheint mein benutzerdefiniertes Profil zu ignorieren und aus irgendeinem Grund ein Standardprofil zu verwenden. Das würde das Ganze so einfach machen. –

+0

Versuchen Sie, FireFox-Profil (testProfile) manuell zu erstellen, und verwenden Sie dieses Profil, während Sie den Treiber initiieren. 'ProfilesIni Profil = neues ProfilesIni(); FirefoxProfile meinprofil = profile.getProfile ("testProfile"); WebDriver-Treiber = neuer FirefoxDriver (meinProfil); 'Sie können den Link [CustomFFProfile] (http://toolsqa.com/selenium-webdriver/custom-firefox-profile/) aufrufen. – Harish

+0

Ich glaube, dass ich das schon getan habe (Schau dir die letzten 2 auskommentierten Zeilen des Codes an, den ich eingefügt habe). Es sei denn, ich täusche mich. Ich habe Selen spezifisch erstellt und versucht, das zu verwenden, aber der Treiber scheint es zu ignorieren. Es verwendet nur "out of the box" oder "default" Einstellungen. –