2023最全Python+Selenium环境搭建教程-你绝对想不到有这么简单!

还有视频版本结合项目实战介绍,轻松学习!

Python+Selenium自动化测试环境搭建Web自动化测试全套教程_哔哩哔哩_bilibiliPython+Selenium自动化测试环境搭建Web自动化测试全套教程共计180条视频,包括:1、Web自动化测试需求和挑战、2、Web自动化环境搭建一键搭建、3、Web自动化之Selenium的八大定位策略等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1zi4y1F7AY/?spm_id_from=333.337.search-card.all.click 

一,Selenium 简介

Selenium是目前最流行的web自动化测试工具,也常用于网络爬虫,已经更新到3以上的版本。

1,组件

它提供了以下web自动化测试组件:

  • Selenium IDE,Firefox浏览器的一个插件,提供简单的脚本录制、编辑与回放功能;

  • Selenium Remote Control (RC),是selenium 1 提供的组件,包含:Selenium Server(用于提供自动化测试服务)、Selenium Client(用于执行脚本);

  • Selenium Grid,用于对测试用例集做分布式处理(并行),现已集成到selenium server中;

  • WebDriver,Selenium2(包括Selenium3)抛弃了Selenium RC,而是使用WebDriver。相比Selenium RC,Webdriver 的API更容易理解和使用,可读性和可维护性也有较大提高。

因为后面我们的web自动化测试使用的是Selenium3(即WebDriver),这里对WebDriver做一下说明:

  • Webdriver不依赖于任何测试框架,除了必要的浏览器驱动,无需启动其他进程,也不必像Selenium 1那样需要先启动服务;

  • 设计模式:按照Server-Client的经典设计模式设计;

  • Server端:可以是任意的浏览器,当脚本启动浏览器时,该浏览器就是Server,它的职责是处理Client发送的请求并做出响应;

  • Client端:即我们的测试代码,测试代码发送HTTP请求给Server(即浏览器),Server接受请求,执行相应操作并返回结果;

  • 不同的浏览器,WebDriver需要依赖对应的浏览器驱动(如 chromedriver.exe)来转化浏览器的native调用,所以进行Selenium自动化时,需先下载对应的浏览器的驱动。

2,特点

  • 免费开源的自动化测试工具(框架)

  • 支持多平台:windows、linux、MAC

  • 支持多种浏览器:Chrome、Firefox、IE、Safari、Opera

  • 支持多种开发语言: java、ruby、python、C、C#等

  • 支持分布式执行测试用例集,即可并行执行测试

不过多赘述,当你看到这篇博客的时候,相信你已经对selenium有了个大概的认知。接下来我们开始在windows 10 上搭建python+selenium环境。

二,Python+Selenium环境搭建

1、Web自动化测试环境搭建配置信息

1.Python: Python3.8.3
2.编辑器: pycharm-community-2020.1.2
3.Web自动化测试工具: Selenium 3.141.0
4.浏览器:Chrome 83.0.4103.97(正式版本)
5.Webdirver: Chrome 83.0.4103.39
6.操作系统:Win10 64位

以上仅为个人配置,仅供参考。

2、Python安装

Python下载地址:Download Python | Python.org

步骤1:点击Python->Dowdloads->Windows,截图如下:

步骤2:点击Python3.8.3,进入python3.8.3下载页面:

 找到Python3.8.3版本所有安装包列表,如下:

安装包介绍:

 步骤3:点击Windows x86-64 web-based installer下载,选择“另存为”保存到本地,如图:

由于web-based installer下载的仅仅是一个exe可执行程序,存放到本地联网后双击,程序会自动下载安装文件进行安装,因此该程序本身很小,只有1.3MB。
web-based installer存放到本地,如图:

步骤4:点击本地Windows x86-64 web-based installer安装包,展示安装界面,开始安装:

该安装界面介绍:  

步骤5:进入“Optional Features”界面,该界面选择项默认全选,无需修改,直接点击【NEXT】:

步骤6:跳转到“Advanced Options”界面,如下:

 修改安装目录,勾选适用所有用户,点击【Install】开始安装,如下:

程序安装进行中,Python下载比较慢,整个安装过程大概40分钟:

 步骤7:安装成功,点击【Close】:

3、验证安装结果 

输入一行代码,敲回车,代码正确运行,表示安装成功,如图:

 方法二:开始菜单,输入cmd,打开CMD窗口,输入Python命令:

输入python --version,查看python版本信息;
输入where python,查看python安装目录:

如图,表示已经安装成功:

三,PyCharm安装

Python下载地址:PyCharm: the Python IDE for Professional Developers by JetBrains

 PyCharm安装,配置及使用可参考:

第一步,打开官网界面,进入到下载界面
 

第二步,打开安装包,开始安装

 第三步,选择安装路径

第四步,一些功能的选择
 

第五步,直接下一步,点击Install

 第七步,完成

3、环境变量的配置

  • 第一步、右击此电脑点击属性,点击高级系统设置,点击环境变量,打开Path新建

  • 第二步、查看Pycharm路径

  • 第三步、拷贝路径,完成环境变量的配置

四,Selenium安装

Selenium既可以在本地cmd窗口使用pip命令安装,也可以在PyCharm虚拟环境或者本地环境安装目录下通过命令行使用pip命令进行安装。以下演示在本地cmd窗口使用pip命令安装的方法,前提是联网状态。

4.1 安装Python后,开始菜单运行窗口输入cmd敲回车,弹出cmd窗口,输入命令“where pip”,查找pip安装路径,如图: 

4.2 cmd窗口,cd命令进入pip安装路径“D:\Program Files\Python38\Scripts”后,输入“pip install -U selenium”,安装最新版本的selenium,如图: 

4.3 安装等待中,当出现“Successfully installed selenium...”表示Selenium已经安装成功。selenium-xx表示版本号。如图: 

4.4 验证Selenium安装是否成功:

1)进入python解释器,输入from selenium import webdriver,没有报错。

2)切换至pip安装路径,输入命令pip list,可查看selenium安装版本信息,如图: 

五,Chrome浏览器安装

5.1 Chrome下载安装

Chrome浏览器下载地址:Google Chrome 网络浏览器

下载安装完成后,查看Chrome版本信息,如图: 

Chrome浏览器版本信息:83.0.4103.97(正式版本)

5.2 Chrome禁止自动更新设置

Web自动化测试时,Chrome浏览器和驱动版本必须匹配,否则执行程序时会报版本不一致的错误。如Chrome浏览器自动更新,更新升级后Chrome驱动可能就不适用了,需要经常替换Chrome驱动,比较麻烦。我们可以禁止Chrome浏览器自动更新。

5.2.1 点击控制面板->系统和安全->管理工具,双击服务图标,打开服务界面,禁用Google 更新服务 (gupdate),Google 更新服务 (gupdatem)

首先选中Google 更新服务 (gupdate),右键点击【属性】弹出属性窗口,启动类型选择”禁用”,点击【确定】,启动类型已更新为禁用。如图:

同样步骤禁用Google 更新服务 (gupdatem),如图: 

六,Chrome浏览器驱动下载及配置

6.1 Chrome浏览器驱动下载

由于Chrome服务器在国内访问不到,可以使用淘宝的NPM镜像网站下载Chrome浏览器驱动,选择与自己浏览器版本最相近的驱动进行下载。

淘宝的NPM镜像网站下载地址:https://npm.taobao.org/mirrors/chromedriver

电脑安装的Chrome版本为83.0.4103.97,下载与Chrome浏览器版本最相近的驱动版本83.0.4103.39,点击链接,如图:

进入驱动下载页面,windows只有一个驱动,不区分32位和64位,直接下载chromedriver_win32.zip即可,如图:

安装包下载到本地,解压缩,如图: 

6.2 Chrome浏览器驱动配置

配置方案一

下载Chrome浏览器驱动,在本地解压缩后,将Chrome浏览器驱动存放目录配置到环境变量中。点击控制面板->系统和安全->系统->高级系统设置->环境变量,选中path变量,点击【编辑】按钮,进入编辑环境变量页面,如图:

点击【新建】按钮,将Chromedriver.exe存放路径拷贝进去,点击【确定】按钮,返回后点击【确定】,如图: 

配置方案二

下载Chrome浏览器驱动,在本地解压缩后,将Chrome浏览器驱动chromedriver.exe存放到与python.exe同一层级目录下,如图:

两种方式区别:两种配置方案选择其一即可,如果电脑下只安装了一个版本的Python,两种方法没有什么区别。但是如果电脑安装了多个版本的Python,采用方案二的方式,每个版本的Python安装目录下均要存放一个相应浏览器的驱动如chromedriver.exe,但采用方案一的方式配置,多个版本的Python不需要重新配置环境变量,均能根据环境变量的配置找到浏览器驱动程序,如本教程中的chromedriver.exe。

七,Wed自动化程序创建

前提:Chromedriver驱动采用在环境变量中配置的方法。

7.1 打开PyCharm,点击【Create New Project】,如图:

7.2 进入“New Project”页面,修改项目名称为“LearnPython”,勾选Existing interpreter(本地系统的解释器),点击“...”,选择本地的python.exe所在目录,添加,如图: 

备注:PyCharm有一套虚拟环境和本地环境,两套环境的库相互独立,互不干扰。步骤四Selenium的安装是在本地环境cmd下安装的,因此创建项目时选择Existing interpreter。虚拟环境的库需要在PyCharm虚拟环境安装目录下用cmd命令行使用pip安装第三方库(Terminal界面)。

7.3 项目创建成功,点击项目“LearnPython”,右键选择“New”->“Python Flie”,录入文件名day20200609,双击Python Flie,创建成功,如图: 

7.4 写一段自动化代码,点击【Run】->【Run】,测试程序,如图: 

7.5 程序正常运行,后台无报错,如图: 

前台页面跳转正常,如图: 

web自动化环境搭建成功。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/1442.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习-Tensorflow使用Keras进行模型训练

本文以FasionMNIST/加州房价数据集为例,介绍KerasAPI进行分类问题/回归问题模型训练的方法Tensorflow版本Tensorflow和keara都需要2.0及以上版本import tensorflow as tf from tensorflow import keras print(tf.__version__) print(keras.__version__)分类MLP构建数…

AI_Papers周刊:第六期

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 2023.03.13—2023.03.19 文摘词云 Top Papers Subjects: cs.CL 1.UPRISE: Universal Prompt Retrieval for Improving Zero-Shot Evaluation 标题:UPRISE:改进零样本评估…

要是早看到这篇文章,你起码少走3年弯路,20年老程序员的忠告

文章目录前言一、程序员的薪资是怎么样的?二、我现在的情况适合做程序员吗?三、大学期间到底应该学些什么?四、工作还是考研?五、总结前言 我是龙叔,一名工作了20多年的退休老程序员。 如果你在工作之前看到这篇文章…

【AI大比拼】文心一言 VS ChatGPT-4

摘要:本文将对比分析两款知名的 AI 对话引擎:文心一言和 OpenAI 的 ChatGPT,通过实际案例让大家对这两款对话引擎有更深入的了解,以便大家选择合适的 AI 对话引擎。 亲爱的 CSDN 朋友们,大家好!近年来&…

libcurl库访问人工智能平台之人脸识别

一、前言上一篇文章我们调用libcurl库去访问了百度,访问的是http协议的百度云主页。那么现在我们要基于翔云人工智能平台来实现人脸识别,具体的操作大概就是我们在linux下调用libcurl库去访问翔云人工智能平台,然后实现我们想要的两张人脸图片…

FPGA纯verilog实现RIFFA的PCIE通信,提供工程源码和软件驱动

目录1、前言2、RIFFA简介RIFFA概述RIFFA架构RIFFA驱动3、vivado工程详解4、上板调试验证并演示5、福利:工程代码的获取1、前言 PCIE是目前速率很高的外部板卡与CPU通信的方案之一,广泛应用于电脑主板与外部板卡的通讯,PCIE协议极其复杂&…

【Linux】基本指令介绍

前言从今天开始,我们一起来学习Linux的相关知识,今天先来介绍怎么登录Linux,并且介绍一些Linux的基本指令。使用 XShell 远程登录 Linux很多同学的 Linux 启动进入图形化的桌面. 这个东西大家以后就可以忘记了. 以后的工作中 没有机会 使用图…

蓝桥杯刷题冲刺 | 倒计时21天

作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.迷宫1.迷宫 题目 链接: 迷宫 - 蓝桥云课 (lanqiao.cn) 本题为填空题,只…

Three.js——learn02

Three.js——learn02Three.js——learn02通过轨道控制器查看物体OrbitControls核心代码index2.htmlindex.cssindex2.jsresult添加辅助器1.坐标轴辅助器AxesHelper核心代码完整代码2.箭头辅助器ArrowHelper核心代码完整代码3.相机视锥体辅助器CameraHelper核心代码完整代码Three…

近期投简历、找日常实习的一些碎碎念(大二---测试岗)

嘿嘿嘿,我又回来了,相信不少兄弟已经发现我似乎已经断更了好久,哈哈,我是尝试去找实习,投简历面试去了。 先说一下背景。 目录 背景 求职进行中 简历 投递和沟通 收获和感受 背景 博主,大二软件工程…

Arthas工具的基本使用

介绍 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。Arthas支持JDK 6,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰…

Python截图自动化工具

1、展示部分源码(写的比较乱,哈哈) 2、功能展示 1)首页 2)按钮截图(用于自动翻页) 3)保存位置按钮(选择图片保存的位置) 4)重复次数,就是要截取多少次 5)定位截屏(截取的内容&#x…

[数据分析与可视化] Python绘制数据地图1-GeoPandas入门指北

本文主要介绍GeoPandas的基本使用方法,以绘制简单的地图。GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoP…

尚融宝06-ECMAScript基本介绍和使用

目录 一、ECMAScript 1、ECMA 2、ECMAScript 3、什么是 ECMA-262 4、ECMA-262 历史 5、ECMAScript 和 JavaScript 的关系 二、基本语法 1、let声明变量 2、const声明常量 3、解构赋值 4、模板字符串 5、声明对象简写 6、定义方法简写 7、参数的默认值 8、对象拓…

QT常用位置函数区别

目录1、引言2、实验代码3、位置函数3.1 x()3.2 y()3.3 frame()3.4 pos()3.5 geometry()3.6 width()3.7 height()3.8 rect()3.9 size()1、引言 QT有众多图形绘制函数,包括x()、y()、frame()、pos()、geometry()、width()、height()、rect()、size(),它们…

【Java学习笔记】多线程与线程池

多线程与线程池一、多线程安全与应用1、程序、进程与线程的关系2、创建多线程的三种方式(1)继承Thread类创建线程【不推荐】(2)实现Runnable接口创建线程(3)Callable接口创建线程3、线程的生命周期4、初识线…

基础入门 HTTP数据包Postman构造请求方法请求头修改状态码判断

文章目录数据-方法&头部&状态码请求requestResponse状态码案例-文件探针&登录爆破工具-Postman自构造使用数据-方法&头部&状态码 请求request 1、常规请求-Get 2、用户登录-Post •get:向特定资源发出请求(请求指定页面信息&#x…

为什么这么NB?huatuo革命Unity热更新

最近huatuo(华佗)热更新解决方案火爆了unity开发圈,起初我觉得热更新嘛,不就是内置一个脚本解释器脚本语言开发,如xLua, ILRuntime, puerts。Huatuo又能玩出什么花样,凭什么会这么NB,引起了那么多程序员的关注与称赞呢&#xff1f…

单片机——IIC协议与24C02

1、基础知识 1.1、IIC串行总线的组成及工作原理 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 1.2、I2C总线的数据传输 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟…

Linux实操之进程管理

文章目录一、基本介绍二、显示系统执行的进程基本介绍三、ps详解四、终止进程kill和killall介绍:●基本语法常用选项五、查看进程树pstree基本语法常用选项一、基本介绍 1.在LINUX中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(pid,进程号…