当前位置:网站首页>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ôlerWebBibliothè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、EdgeOuFirefoxAttendez.).Selenium WebDriver Le but principal deWebEssais 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é DriverBinaires 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 driverProblè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 driverEt alors??La réponse doit être oui., C'est ce dont nous parlions WebDriverManager.C'est exact.JavaEtPythonTout le monde est d'accord..
2..WebDriverManagerIntroduction
WebDriverManagerEst une source ouverteJavaBibliothèque,Oui, bien sûr.PythonVersion, 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 ,ConstruireWebDriverObjet(Par exemple:ChromeDriver、FirefoxDriver、 EdgeDriverAttendez.) ,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.…….

边栏推荐
- Ubantu disk expansion (VMware)
- Unity implements the code of the attacked white flash (including shader)
- DECLARE_ WAIT_ QUEUE_ HEAD、wake_ up_ Interruptible macro analysis
- 001 chip test
- FBO and RBO disappeared in webgpu
- It took two nights to get Wu Enda's machine learning course certificate from Stanford University
- Clickhouse synchronization MySQL (based on materialization engine)
- Nmap使用手册学习记录
- Thread Basics
- [Chongqing Guangdong education] 2777t green space planning reference questions of National Open University in autumn 2018
猜你喜欢

Redis之Jedis如何使用

IronXL for .NET 2022.6
![Yuancosmic ecological panorama [2022 latest]](/img/55/0901109e4c865b77137610b4fe0624.jpg)
Yuancosmic ecological panorama [2022 latest]
![[安洵杯 2019]不是文件上传](/img/f1/736eb5fe51c299e3152ca87895ee99.png)
[安洵杯 2019]不是文件上传

An elegant program for Euclid‘s algorithm
![[system security] ten thousand words summary system virtualization container bottom layer principle experiment](/img/c6/1bdb29a0acb0739f67b882fa6b3b47.jpg)
[system security] ten thousand words summary system virtualization container bottom layer principle experiment

The architect started to write a HelloWorld
![[105] Baidu brain map - Online mind mapping tool](/img/4f/64ee0bb15aec435294d4f5fde4493e.jpg)
[105] Baidu brain map - Online mind mapping tool

Deep learning - LSTM Foundation

Redis6-01nosql database
随机推荐
An elegant program for Euclid‘s algorithm
What is the most effective way to convert int to string- What is the most efficient way to convert an int to a String?
Kubernetes -- cluster expansion principle
Unity implements the code of the attacked white flash (including shader)
[luat-air105] 4.1 file system FS
Technology sharing swift defense programming
Zero foundation uses paddlepaddle to build lenet-5 network
Delphi read / write JSON format
Containerization Foundation
Une question est de savoir si Flink SQL CDC peut définir le parallélisme. Si le parallélisme est supérieur à 1, il y aura un problème d'ordre?
About authentication services (front and back, login, registration and exit, permission management)
特殊版:SpreadJS v15.1 VS SpreadJS v15.0
English essential vocabulary 3400
Web components series (VII) -- life cycle of custom components
Learning notes of raspberry pie 4B - IO communication (I2C)
[C language] address book - dynamic and static implementation
汇编-入门
NPM introduction link symbolic link
【web审计-源码泄露】获取源码方法,利用工具
[groovy] string (string splicing | multi line string)