Fermer

août 7, 2018

Comment télécharger facilement un fichier sur une VM aléatoire en utilisant Selenium GRID


Automatisation des tests basés sur le cloud

" Le marché mondial des services de cloud computing devrait croître de 21,4% en 2018 pour atteindre 186,4 milliards de dollars, contre 153,5 milliards de dollars en 2017" , selon Gartner, Inc. . Compte tenu de ce fait, je pense que l'automatisation des tests sur le cloud est en retard. Relativement récemment, ce type de test a suscité beaucoup d’attention par rapport à l’approche des tests hérités. Laissez-nous discuter de quelque chose de pratique plutôt nouveau – qui offre une approche pour exécuter facilement des tests automatisés avec des délais rigoureux et avec une meilleure efficacité. La clé est de voir les testeurs d'automatisation prendre le relais et laisser l'outil faire son travail. Les tests basés sur le cloud, de toutes les manières possibles, vous offrent des cycles de test plus rapides et une productivité accrue.

Votre capacité à effectuer des tests sur des périphériques réels sur une grille vous limite à choisir entre un nombre limité d'appareils pour héberger des tests. De plus, la plupart des organisations ne pourront pas se les permettre. Si vous comptez sur l'infrastructure qui vous a été fournie, il y a de nombreuses chances que vos tests soient limités. C'est là que nous recevons l'aide des tests basés sur le cloud où nous exécutons autant de tests parallèles que vous voulez dans le cloud.

Défis lors du téléchargement des fichiers:

Cela dit, discutons de l'un des défis auxquels nous sommes confrontés exécuter vos tests Selenium WebDriver sur le cloud. Pour avoir un sens, supposons que nous exécutons des tests sur un système distribué. Le plus souvent, le nœud peut choisir entre des milliers de machines virtuelles aléatoires dans le cloud. Nous nous trouvons souvent dans une situation où nous avons dû télécharger un fichier à partir de local. Cela a toujours été un problème car le code reste dans le concentrateur et le nœud reçoit les commandes pour piloter le test. Cela crée des problèmes majeurs tels que le téléchargement de fichiers / téléchargements. La solution est simple. Et cela fonctionne comme un charme dans presque tous les pilotes.

Utilisez la méthode ci-dessous pour télécharger un fichier du local vers n'importe quelle machine du cloud.


 / *
* param by - Ceci est le localisateur de l'élément où vous entrez le chemin du fichier
* param fileName - C'est le nom du fichier à télécharger
* /
public void uploadFile (By by, String fileName)
    {
        essayer
        {
WebElement element = driver.findElement (by);
LocalFileDetector detector = new LocalFileDetector ();
String path = new File ("src / test / resources / testdata /"). GetAbsolutePath ()
+ "/" + nom_fichier;
Fichier fichier = detector.getLocalFile (chemin);
(Élément (RemoteWebElement)) .setFileDetector (détecteur);
element.sendKeys (file.getAbsolutePath ());
        }
        capture (Exception e)
        {
            e.printStackTrace ();
            Assert.fail ("Votre message va ici");
        }
    } 

Comme nous le savons tous, votre type de pilote doit être de type RemoteWebDriver. Et le RemoteWebDriver a besoin de selenium-server-autonome pour être exécuté comme condition préalable.






Source link