当前位置:网站首页>Test d'automatisation de l'interface utilisateur télécharger manuellement le pilote du navigateur à partir de maintenant
Test d'automatisation de l'interface utilisateur télécharger manuellement le pilote du navigateur à partir de maintenant
2022-07-05 03:49:00 【Petit frère a dit que c'était un test.】
Merci d'avoir retiré
“Tout le monde faitUIQuand l'automatisation,Qu'est - ce qui vous dérange le plus,Est - ce que l'emplacement de l'élément ou le navigateur est compatible avec le débogage du pilote?On continue à regarder en bas.
”
Un..SeleniumWebDriver
SeleniumWebDriver
.C'est un programme qui permet de contrôlerWeb
Bibliothèque du Navigateur.Il offre unAPI
,.Peut être utilisé pour conduire dans différents langages de programmation(Par exemple:Java
、JavaScript
、Python
、C#
OuRuby
)Navigateur pour(Par exemple:Chrome
、Edge
OuFirefox
Attendez.).Selenium WebDriver
Le but principal deWeb
Essais automatisés des applications.
SeleniumWebDriver
Automatiser avec le support natif de chaque navigateur .Pour cette raison,,Nous devons utiliserSelenium WebDriver API
Placez un test appelé Driver
Binaires pour. Les pilotes des navigateurs Web grand public sont maintenant ChromeDriver (Chrome)
,geckoDriver (Firefox)
,Oumsededriver (Edge)
.WebDriver API
La communication avec les binaires du pilote utilise le nom W3C WebDriver
(Anciennement connu sous le nom deJSON Wire Protocol
) Le protocole standard de .Et puis, Utilisez les fonctions natives de chaque navigateur pour compléter la communication entre le pilote et le navigateur .
Nous téléchargerons manuellement la version correspondante du navigateur en fonction des différents navigateurs et versions du navigateur driver
,Définir les propriétés du système.
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
System.setProperty("webdriver.edge.driver", "/path/to/msedgedriver");
System.setProperty("webdriver.opera.driver", "/path/to/operadriver");
System.setProperty("webdriver.ie.driver", "C:/path/to/IEDriverServer.exe");
On faitUI
Les mises à jour du Navigateur sont souvent rencontrées lors de l'automatisation et driver
Problème d'inadéquation des versions, La solution est de télécharger manuellement la version correspondante driver
,Pour débutants, Ce n'est pas un travail facile , .Y a - t - il un moyen de télécharger automatiquement la version correspondante en fonction des différents navigateurs driver
Et alors??La réponse doit être oui., C'est ce dont nous parlions WebDriverManager
.C'est exact.Java
EtPython
Tout le monde est d'accord..
2..WebDriverManagerIntroduction
WebDriverManager
Est une source ouverteJava
Bibliothèque,Oui, bien sûr.Python
Version, Il est entièrement automatisé Selenium WebDriver
.Gestion des pilotes requis (Téléchargement, par exemple、 Mise en place et entretien ).En plus,Dans la version5Moyenne,WebDriverManager
D'autres fonctions connexes sont également disponibles , .Comme la découverte d'un navigateur installé sur un système local ,ConstruireWebDriver
Objet(Par exemple:ChromeDriver
、FirefoxDriver
、 EdgeDriver
Attendez.) ,InDocker
Navigateur fonctionnant de façon transparente dans un conteneur , Et les fonctions de surveillance .
Trois.WebDriverManagerSur le terrain(JavaÉdition)
1.pom.xmlAjouterWebDriverManagerDépendance
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.0.3</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
2. Créer un nouveau script de test ,Pour tester
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
* @author Auteur:La voie de la croissance des ingénieurs d'essai
* @version Temps de création:2022/7/3
* Description de la classe:Téléchargement automatiqueChromePilote de navigateur
*/
public class OperateBrowserDriver {
public static void main(String[] args) throws InterruptedException {
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
driver.get("http://www.cnblogs.com/mrjade/");
Thread.sleep(1000);
driver.quit();
}
}
3.Résultats de la mise en œuvre
4.driverChemin de stockage(ParMacosPar exemple)
Quatre.WebDriverManagerSur le terrain(PythonÉdition)
1.Installation
pip install webdriver-manager
2.Utiliser
# coding=utf-8
'''
@Author : La voie de la croissance des ingénieurs d'essai
@Time : 2022/7/3 12:13
@Desc : Description de la méthode
@Software: PyCharm
'''
import time
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.baidu.com/")
time.sleep(5)
driver.quit()
3.Résultats de la mise en œuvre
4.driverChemin de stockage(ParMacosPar exemple)
Quatre.Documents officiels
Voir la documentation du site officiel pour plus de détails sur l'utilisation du navigateur
https://bonigarcia.dev/webdrivermanager/
Partage des ressources d'apprentissage
Enfin, merci à tous ceux qui ont lu attentivement mon article,Regarder les fans monter et se concentrer,Il y a toujours quelque chose à faire.,Ce n'est pas très précieux.,Si vous pouvez l'utiliser, vous pouvez l'enlever directement
Ces informations,Pour penser【 Développement de tests avancés 】Pour les amis, c'est l'entrepôt de préparation le plus complet et le plus complet,Cet entrepôt m'a accompagné dans les plus difficiles,J'espère que ça t'aidera aussi.!Avant tout,En particulier dans le secteur de la technologie,Assurez - vous d'améliorer vos compétences techniques.J'espère que ça vous aidera.…….
边栏推荐
- [luat-air105] 4.1 file system FS
- Excuse me, my request is a condition update, but it is blocked in the buffer. In this case, can I only flush the cache every time?
- Pdf things
- Timing manager based on C #
- PlasticSCM 企业版Crack
- 【web审计-源码泄露】获取源码方法,利用工具
- In MySQL Association query, the foreign key is null. What if the data cannot be found?
- De debugging (set the main thread as hidden debugging to destroy the debugging Channel & debugger detection)
- 有個疑問 flink sql cdc 的話可以設置並行度麼, 並行度大於1會有順序問題吧?
- Is there any way to change the height of the uinavigationbar in the storyboard without using the UINavigationController?
猜你喜欢
Clickhouse synchronization MySQL (based on materialization engine)
Talk about the SQL server version of DTM sub transaction barrier function
IPv6 experiment
grandMA2 onPC 3.1.2.5的DMX参数摸索
An elegant program for Euclid‘s algorithm
Class inheritance in C #
v-if VS v-show 2.0
SQL performance optimization skills
The architect started to write a HelloWorld
UE4 DMX和grandMA2 onPC 3.1.2.5的操作流程
随机推荐
[untitled]
Google Chrome CSS will not update unless the cache is cleared - Google Chrome CSS doesn't update unless clear cache
Anti debugging (basic principles of debugger Design & NT NP and other anti debugging principles)
Mongodb common commands
[web source code code code audit method] audit skills and tools
speed or tempo in classical music
Kubernetes - identity and authority authentication
DECLARE_ WAIT_ QUEUE_ HEAD、wake_ up_ Interruptible macro analysis
[groovy] loop control (number injection function implements loop | times function | upto function | downto function | step function | closure can be written outside as the final parameter)
[C language] address book - dynamic and static implementation
Kuboard
Kubernetes -- cluster expansion principle
Why do some programmers change careers before they are 30?
What is the most effective way to convert int to string- What is the most efficient way to convert an int to a String?
About MySQL database connection exceptions
[luat-air105] 4.1 file system FS
[summary of two registration methods]
Zero foundation uses paddlepaddle to build lenet-5 network
New interesting test applet source code_ Test available
官宣!第三届云原生编程挑战赛正式启动!