Je voudrais savoir s'il existe un moyen pour les tests automatisés de télécharger le fichier (Excel et PDF dans mon cas)) et enregistrer dans un emplacement désiré en utilisant le pilote Web Selenium. J'ai essayé d'utiliser le profil Firefox, mais cela n'a pas fonctionné. Lorsque le test est en cours d'exécution, une fenêtre contextuelle vous demande si vous souhaitez ouvrir ou enregistrer le fichier. Ainsi, lorsque nous cliquons sur un bouton, je ne veux pas que les fenêtres pop-up s'affichent, mais autorisent automatiquement le téléchargement à l'emplacement souhaité (localement et sur Selenium Server) Nous utilisons C# pour écrire les tests. Ci-joint est la fenêtre pop-up. Quelqu'un pourrait-il m'aider s'il vous plaît?Comment télécharger et enregistrer des fichiers Excel et PDF à partir d'une fenêtre contextuelle à l'aide du sélénium écrit en C#
public static IWebDriver Build(SeleniumInstanceContext context)
{
IWebDriver instance;
var capabilities = new DesiredCapabilities();
var profile = CreateFirefoxProfile();
//Pass the Firefox profile to be used by RemoteWebDriver
capabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, profile.ToBase64String());
switch (context.TestingBrowser.ToUpperInvariant())
{
case "CHROME":
instance = context.SeleniumEnvironment.ToUpper() == "REMOTEWEBDRIVER"
? new RemoteWebDriver(new Uri(context.SeleniumServerUrl), DesiredCapabilities.Chrome())
: new ChromeDriver();
break;
case "IE":
instance = context.SeleniumEnvironment.ToUpper() == "REMOTEWEBDRIVER"
? new RemoteWebDriver(new Uri(context.SeleniumServerUrl),
DesiredCapabilities.InternetExplorer())
: new InternetExplorerDriver();
break;
default:
instance = context.SeleniumEnvironment.ToUpper() == "REMOTEWEBDRIVER"
? new RemoteWebDriver(new Uri(context.SeleniumServerUrl), capabilities,
TimeSpan.FromMinutes(5))
: new FirefoxDriver(profile);
break;
}
return instance;
}
[![enter image description here][1]][1]public static FirefoxProfile CreateFirefoxProfile()
{
//Create FireFox Profile object
var profile = new FirefoxProfile();
//Set Location to store files after downloading.
const string path = "C:\\Users\\abc.xyz\\Downloads";
profile.SetPreference("browser.download.dir", path);
profile.SetPreference("browser.download.folderList", 2);
//Set Preference to not show file download confirmation dialogue using MIME types Of different file extension types.
profile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv,application/x-msexcel,application/excel,application/x-excel,application/excel,application/x-excel,application/excel,application/vnd.ms-excel,application/x-excel,application/x-msexcel,application/csv");
//profile.SetPreference("browser.helperApps.neverAsk.openFile", "application/octet-stream");
//profile.SetPreference("browser.download.manager.showWhenStarting", false);
profile.SetPreference("pdfjs.disabled", true);
profile.SetPreference("browser.download.alertOnEXEOpen", false);
profile.SetPreference("browser.download.manager.focusWhenStarting", false);
profile.SetPreference("browser.helperApps.alwaysAsk.force", true);
profile.SetPreference("browser.download.manager.alertOnEXEOpen", false);
profile.SetPreference("browser.download.manager.closeWhenDone", false);
profile.SetPreference("browser.download.manager.showAlertOnComplete", false);
profile.SetPreference("browser.download.manager.useWindow", false);
return profile;
}
Avez-vous essayé de vérifier « Pour ce faire, automatiquement ... » et l'enregistrer en tant que profil Firefox ? Assurez-vous également de ne pas modifier le profil temporaire créé lors de la session de test Selenium! – Kirhgoph
Comment puis-je gérer "Faites-le automatiquement ..", car c'est un test automatisé et c'est une fenêtre pop-up pas le navigateur? – ranp