télécharger un fichier avec le test de karaté à travers une interface web en utilisant une grille de Sélénium et jenkins

Francis F .:

Je rencontre des problèmes en utilisant des tests de karaté lors du téléchargement d'un fichier via une interface Web en utilisant un cluster de grille de Sélénium (Zalenium) et Jenkins:

  1. trouver un moyen facile pour obtenir le chemin complet du fichier pour pouvoir l'envoyer à l'élément Web d'entrée avec:

    waitFor(inputFieldSelector).input(fullPathOfThefile)

    Je résolu ce problème en utilisant une méthode java personnalisé pour le reconstruire, mais pour sûr qu'il ya un moyen plus rapide / plus élégante. Y at-il une fonction spécifique Karaté / moyen pour l'obtenir?

  2. trouver un moyen de mettre en place la WebDriver à distance pour gérer les fichiers locaux comme il semble qu'il recherche le fichier à télécharger au mauvais endroit.

    En Java je l'ai résolu en utilisant setFileDetector de RemoteWebDriver avec LocalFileDetector (un exemple ci-dessous), mais je ne sais pas comment le faire dans Karaté:

    RemoteWebDriver rwd = new RemoteWebDriver(new URL(gridUrl), DesiredCapabilities.firefox());
    rwd.setFileDetector(new LocalFileDetector());
    
Peter Thomas:

Il peut être nécessaire enquête, pour être honnête, nous n'avons pas travaillé sur fichier-uploads dans cette mesure, afin que nous puissions besoin de votre aide. Pour le point 1, une méthode personnalisée Java sonne bien pour moi, mais vous pouvez suggérer une nouvelle API et nous pouvons l'ajouter à Karaté dans la prochaine version, peut-êtrekarate.toAbsolutePath('classpath:some/file.txt')

Toute référence , vous pouvez nous indiquer la FileDetectorvolonté de l' aide - ce serait bien si vous pouvez contribuer au code. À tout le moins, s'il vous plaît envisager de soumettre un échantillon sous cette forme: https://github.com/intuit/karate/tree/develop/examples/ui-test

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=282253&siteId=1
conseillé
Classement