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

news2024/11/25 13:26:42

 一,Selenium 简介

在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!_哔哩哔哩_bilibili在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!共计16条视频,包括:1. 【web自动化】主流Web自动化测试技术对比、2. 【web自动化】Selenium自动化测试环境一键搭建、3. 【web自动化】Selenium八大定位策略详解等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1sM4y1d7tq/?spm_id_from=333.337.search-card.all.click 

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.coloradmin.cn/o/599073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣动态规划专题(一)509 70 746 62 63 343 96 思路及C++实现

文章目录 动态规划509. 斐波那契数五步骤代码 70. 爬楼梯五步骤代码 746. 使用最小花费爬楼梯五步骤代码扩展 62. 不同路径动态规划数论 63. 不同路径 II五步骤代码 343. 整数拆分五步骤代码 96.不同的二叉搜索树五步骤代码 注意点: 动态规划 动态规划,…

Java多线程学习2

1. 多线程 线程与任务的关系 脱离了任务的线程是没有意义的 线程对象是通过Thread类来创建的 任务是通过Runnable接口来定义的 1.继承Thread类 2.实现Runnable接口 3.实现Callable接口 (与Runnable的区别,可以拿到返回值) Thread线程…

RK3588平台开发系列讲解(驱动基础篇)设备驱动 IO 控制

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们来讲的 ioctl 接口。 在内核 3.0 以前,ioctl 接口的名字叫 ioctl;内核 3.0 以后,ioctl 接口的名字叫 unlocked_ioctl。unlocked_ioctl就是 ioctl 接…

基于深度学习的高精度血小板检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度血小板检测(红细胞RBC、白细胞WBC和血小板Platelet)识别系统可用于日常生活中或野外来检测与定位血小板目标,利用深度学习算法可实现图片、视频、摄像头等方式的血小板目标检测识别,另外支持…

程序设计综合实习(C语言):用指针优化学生成绩排名

一.目的 1.熟悉变量的指针和指向变量的的指针变量的概念和使用 2.熟悉数组的指针和指向数组的的指针变量的概念和使用 3. 掌握冒泡法或选择法排序的算法 4. 掌握函数的定义、调用、声明,以及参数的两种传递方式 二、实习环境 Visual Studio 2…

模拟集成电路设计-MOS器件物理基础(模集系列持续更新)

学习目的 欠缺的学习路径: 固体物理,半导体器件物理,器件模型,电路设计。所有的半导体器件都看成一个黑盒子,只关注端电压电流。 最佳的学习路径:两手抓,因为有些二阶效应会影响到电路本身. 本…

Vector-常用CAN工具 - 以太网工程更换环境无法打开解决

通常来说每个VN5000都有自己本身的以太网硬件网络配置,因此当我们打开别人的以太网CANoe工程或CANape工程的时候,无法进行正常的功能使用或者log的无法正常的显示,那我们该如何处理呢?这种情况常见的有以下2种可能: 1、…

数据的表示与运算

目录 一、进位计数制 二、信息编码 三、定点数数据表示 四、校验码 五、定点数补码加减运算 六、标志位的生成 七、定点数的移位运算 八、定点数的乘除运算 九、浮点数的表示 十、浮点数的运算 一、进位计数制 整数部分: 二进制、八进制、十六进制 --…

机器人模型预测控制MPC(model predictive control)

当前控制动作是在每一个采样瞬间通过求解一个有限时域开环最优控制问题而获得。过程的当前状态作为最优控制问题的初始状态,解得的最优控制序列只实施第一个控制作用。这是它与那些使用预先计算控制律的算法的最大不同。本质上模型预测控制求解一个开环最优控制问题…

使用APIPOST 进行压力测试

使用APIPOST 进行压力测试 目录概述需求: 设计思路实现思路分析1.apipost 压力测试 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for c…

​【指针和数组区别与理解】超万字

指针和数组的关系 指针指的是指针变量,不是数组,指针变量的大小是4/8个字节,是专门来存放地址的。数组也不是指针,数组是一块连续的空间,存放一组相同类型的数据的。 没有关系,但是它们之间有比较相似的地方…

代理模式的学习与使用

1、代理模式的学习 代理模式是一种结构型设计模式,它允许你提供一个代理对象,该对象可以控制对其他对象的访问。代理模式通过在代理对象和实际对象之间添加一个中间层,使得代理对象可以代表实际对象执行某些操作,从而实现对实际对…

ARM-系统移植(开发环境搭建)

基于STM32MP157单片机 一、安装tftp服务器 首先保证ubuntu连接网络成功 1. 安装步骤 作用:完成ubuntu和开发板之间传输文件 1)安装tftp服务器的安装包 sudo apt-get install tftpd-hpa tftp-hpa tftpd-hpa : 服务器端 tftp-hpa : 客户端 2&#x…

Docker Desktop 如何运行容器

第一次使用windows环境下的DockerDesktop记录下使用方法 1、配置镜像源,虽然配置了镜像源,但是在界面你还是搜索不到镜像,应该默认使用的是官方dockerhub的原因,后面可以手动创建避开这个问题。 2、运行系统的windows powershell…

使用yolov5实现图像识别

文章目录 开始之前下载依赖下载数据集标记数据集整理文件新建 yaml 文件开始训练模型选择训练完成使用模型进行识别自定义模型下载数据集下载地址分享问题 开始之前 你应当先克隆这个仓库 git clone https://github.com/ultralytics/yolov5 # clone下载完毕后,进入…

【轻量化网络系列(5)】ShuffleNetV2论文超详细解读(翻译 +学习笔记+代码实现)

前言 今天我们要讲的是ShuffleNetV2,它是由旷视科技团队在 2018 年提出的,原论文发表在ECCV上。在同等复杂度下,ShuffleNetV2比ShuffleNet和MobileNetv2更准确。这篇论文除了提出这个全新的轻量化网络结构以外,还创新性地提出四…

redis第二章-第二课-主从模式和哨兵模式原理

主从模式 1、复制一份redis.conf,命名为redis-6380.conf文件 2、修改该文件,修改端口号,线程文件,日志文件,以及指定文件存放目录 3.在从节点上配置,这是核心配置 从本机6379的redis实例复制数据 replica…

如何准备一场面试

目录 一、心理准备1、内心的答案2、表述的答案 二、简历准备三、知识准备&面试流程1、一面:技术面2、二面:BOSS面3、终面:HR面 四、面试的技巧有哪些1、自信2、真诚3、主动4、复盘 五、补充:其他面试内容1、逻辑思维2、技术开…

圆柱点云展开为平面点云

文章目录 简单计算图示目标:将圆柱点云展开为平面点云用途(目前想到的)思路:本文展开思路关键点 简单计算图示 目标:将圆柱点云展开为平面点云 注意:工业实际场景中只能获取可见区域的圆柱侧面&#xff0c…

CC2530+ESP8266与手机APP通信

一、案例介绍 下面是一个基于CC2530和ESP8266的项目示例,演示了如何使用CC2530与ESP8266通信以及使用AT指令控制其WiFi模块设置和数据传输。 项目概述: 通过CC2530控制ESP8266将其配置成AP+TCP服务器模式,并通过手机APP连接到TCP服务器并完成数据传输。ESP8266将作为一个热…