Dans Selenium, j'ai utilisé Webdriver Manager via une commande:
driver = webdriver.Chrome(Chromedrivermanager().install())
Y a-t-il un gestionnaire de webdriver utilisé pour le framework de robot? Je souhaite que le gestionnaire de pilotes Web se télécharge automatiquement lors de l'exécution du script de test sans interférence supplémentaire.
4 Réponses :
La seule chose que j'ai trouvée sur Internet est que vous devez installer webdrivermanager avec la commande:
sudo apt-get update sudo apt-get install google-chrome-stable
et vous lancez cette commande avant votre script:
webdrivermanager chrome robot --outputdir ./results/Robot-results ./TestSuits/*
Il existe deux gestionnaires de pilotes Web comme indiqué ci-dessous,
étape de la ligne de commande -
1. pip install webdriver-manager robotframework robotframework-seleniumlibrary (prjenv) 09:37 PM##~::>pip list Package Version ------------------------------ ---------- certifi 2018.11.29 chardet 3.0.4 colorama 0.4.1 configparser 4.0.2 crayons 0.3.0 idna 2.8 pip 19.2.3 requests 2.22.0 robotframework 3.1.2 robotframework-seleniumlibrary 4.1.0 selenium 3.141.0 setuptools 40.8.0 urllib3 1.25.6 webdriver-manager 2.2.0 wheel 0.32.3 2. create a file sample.robot ***Settings*** Library SeleniumLibrary ***Test Cases*** Sample Webdriver [Tags] wd0 [Documentation] Sample invocation using WD Open Browser http://google.com ff Close All Browsers 3. execute the file as follows robot *.robot Output ======== (prjenv) 09:38 PM##~::>robot *.robot ============================================================================== Sam ============================================================================== Sample Webdriver :: Sample invocation using WD | PASS | ------------------------------------------------------------------------------ Sam | PASS | 1 critical test, 1 passed, 0 failed 1 test total, 1 passed, 0 failed ============================================================================== Output: /Users/apachemain/output.xml Log: /Users/apachemain/log.html Report: /Users/apachemain/report.html
Vous devez faire ce qui suit pour utiliser webdriver-manager, avez-vous remarqué quelque chose, il n'y a rien à faire quoi que ce soit de spécifique à webdriver-manager, BEAUTY d'utiliser robotframework. sympa !!!
code
webdrivermanager chrome:2.38 firefox opera:v.2.35
C'EST C'EST !!!
dans le terminal cmd
pip installer webdrivermanager
webdrivermanager firefox chrome --linkpath / usr / yourdir
comme pour les mises à jour automatiques, vous pouvez créer un fichier batch .bat (juste une entrée cmd) avec la dernière commande (il mettra à jour la version automatiquement) et le définir sur un planificateur Windows
https://www.windowscentral.com / how-create-and-run-batch-file-windows-10
https://www.digitalcitizen.life/how-create -task-basic-task-wizard
Ma solution pour l'utiliser avec Robot Framework était avec une bibliothèque python que j'ai appelée chromedriversync.
chromedriversync.py:
Library chromedriversync.py ${chromedriver_path}= chromedriversync.Get Chromedriver Path Create Webdriver chrome executable_path=${chromedriver_path} Go to www.google.com
Ensuite, dans mes tests robotframework, J'ajoute
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager def get_chromedriver_path(): driver_path = ChromeDriverManager().install() print(driver_path) return driver_path
J'utilise simplement la variable de chemin retournée par la méthode d'installation chromedrivermanager, pour fournir le mot-clé Open Browser Robot Framework.
Cela fonctionne très bien, la seule chose que j'ai changée était Open Browser, pas Create Webdriver. N'oubliez pas qu'Open Browser ne fonctionne que pour Chrome et FF.