python+selenium环境搭建(一)

python+selenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器。

1.python的安装

目前测试行业应用最广的编程语言当属Python为首。python现在主流是3.7的版本。安装很简单,在官网(官网地址:https://www.python.org)选择对应系统的版本直接下载,然后

双击安装即可,安装路径可自定义,不是一定非要安装在C盘,但请尽可能避免中文路径。

python+selenium环境搭建(一)_第1张图片

python+selenium环境搭建(一)_第2张图片

python安装包后,需要配置环境变量,其实在3.7的安装过程中,第一个界面有一个“add python to path”的选项可以勾选(大概是这个名字)。勾选之后会自动将python添加到系统环境变量Path中。当然你也可以选择手动添加,添加方法如下:

我的电脑右键选择属性–>高级系统设置–>环境变量–>环境变量–>系统变量:找到path变量并修改,在Path路径的最前面加入:C:\Python37;C:\Python37\Scripts; (如果你的python安装在其他路径请做相应的改动,笔者这里是默认路径)

特别要注意:很多新手会把Path中原来的内容删除掉,笔者提醒一下这个绝对不能这样做,慎重!慎重!慎重!

安装之后,运行CMD窗口,输入python指令,用于校验python是否安装成功。如下图表示成功!

python+selenium环境搭建(一)_第3张图片

  注意:关于python3.7使用问题分析

升级到新的python版本是一种工作,但这种工作不一定会让你的软件用户受益, 因为用户关心的是功能和错误修复,而不是你的更新程度。

所以,仍有许多人使用 Python 3.7 并不奇怪, 截至 2022 年 12 月,从 PyPI 下载的包中有近 30% 是针对 Python 3.7 的, 这包括作为 CI 运行一部分的自动下载,所以这并不意味着 30% 的应用程序使用 3.7,但这仍然是很多人使用旧版本 Python 的原因。

不过,你可以延迟升级的时间有限,对于 Python 3.7,升级时间是在接下来的几个月内, Python 3.7 将于 2023 年 6 月到期,到期后不再修复错误,也没有安全修复。

Python 3.7 于 2018 年 6 月发布。正如你在 PEP 537 中所见:

  • 错误修复和安全修复子版本在前两年每 3 个月发布一次。
  • 之后,仅根据需要发布安全修复程序。
  • 3.7 发布后 5 年将停止发布。

也就是说,2023 年 6 月是发布 Python 3.7 的最后一个月, 从 2023 年 7 月开始,如果存在安全漏洞,Python 开发团队将不再修复。

对安全修复的需求是真实的:3.7.9 之后的所有版本都是由于安全修复。撰写本文时的最新版本 Python 3.7.16 已于 2022 年 12 月 6 日发布,其中包含 5 个不同的安全修复程序,从潜在的拒绝服务攻击到缓冲区溢出。

一些 Linux 发行版保证在已知时间段内提供长期支持,包括安全错误修复, 如果你使用的是这些发行版之一,并且它包含 Python 3.7,那么你可以依赖该发行版来提供安全修复,即使 Python 开发团队不会这样做。

所以理论上,你还不需要升级, 但在实践中,有一些警告。

大多数发行版中不包含 Python 3.7

  • RedHat 和克隆版不在任何版本中包含 Python 3.7。
  • Ubuntu 18.04 确实有 Python 3.7 作为附加组件,但它是 universe 附加组件包的一部分,因此尚不清楚安全支持会有多好;据推测,universe 包安全更新依赖于社区更新, 最后一次安全更新是在 2021 年 12 月,较新的 LTS Ubuntu 版本(20.04、22.04)不包括 Python 3.7。
  • Debian 10(“Buster”)包括 Python 3.7,但 Debian 11 不包括。

Linux 发行版不会向后移植所有安全修复程序,只会向后移植那些最重要的:

  • 即使是现在,当 Python 维护者自己提供错误修复时,Python 3.7.16 也有许多安全修复没有包含在 Debian维护的版本中。
  • Ubuntu 上一次针对 Python 3.7 的安全更新是在 2021 年 12 月,尽管此后已经进行了多次安全更新。

当然,长期支持只会持续有限的时间:

  • Debian Buster 将于 2024 年 6 月结束其自身的安全更新,因此这只会让你多花一年时间。
  • Ubuntu 18.04 将于 2023 年 4 月结束标准安全更新;之后,你需要付费才能获得安全更新。

你的依赖项将停止获取更新

一旦 6 月到来,第三方 Python 库和框架将开始放弃对 Python 3.7 的支持, 这意味着如果这些库有一个严重的错误,修复程序可能无法在 Python 3.7 上使用,并且你的 Linux 发行版不会为每个现有的 Python 库做反向移植。

事实上,一些库和框架已经开始放弃对 Python 3.7 的支持:

python+selenium环境搭建(一)_第4张图片

Django 3.2 LTS 仍然支持 Python 3.7,并将在 2024 年 4 月结束自己的安全更新。

现在是从 3.7 升级的时候了在短期内,你的最低目标是切换到一个 Python 版本,该版本维护了可用的依赖项版本。例如,如果你依赖 Pandas,正如我们所见,最后一个与 3.7 兼容的版本是在 2021 年 12 月发布的。因此,你至少希望使用 Python 3.8。

幸运的是,Python 3 版本相当向后兼容, 所以可以做的是:

  • 升级到 3.8。
  • 修复你发现的任何错误。
  • 升级到 3.9,修复所有错误。
  • 重复直到你使用 Python 3.10 或从 2023 年 1 月左右开始使用 Python 3.11。

2、通过python安装Selenium

打开cdm窗口执行命令pip install selenium

python+selenium环境搭建(一)_第5张图片

  等待cmd窗口提示successful,则selenium安装成功,如中途中断了继续输入pip install selenium重新安装,不影响!

3、安装chrome浏览器

Chrome官网:https://www.google.cn/chrome/

谷歌浏览器没法上网

  1. 代理问题
  2. 重置网络netsh winsock reset,然后重启
  3. 重新安装
  4. 然而,这些都没有用,最后通过关闭沙箱解决了问题,步骤如下:

python+selenium环境搭建(一)_第6张图片

 

在路径中添加 “-no-sandbox”,记得要与前面有空格

 

python+selenium环境搭建(一)_第7张图片

需要等待3-5分钟,然后就可以正常使用了。

第一次打开会弹出“您使用的是不受支持的命令行标记:-no-sandbox。稳定性和安全性会有所下降”不用理会,关掉就行。

5.也可以试着改下这里,跳转到百度进行搜索。在谷歌设置----搜索引擎----

python+selenium环境搭建(一)_第8张图片

注:如果还是不行,建议检查一下是不是有墙,有墙的话可以更改下。

拓展:使用这个办法可以兼容IE:      CSDN作者:丶凉  链接如此:链接

4、安装chrome浏览器驱动

厂家出品的专门用来做自动化的东西

以下内容是手动安装浏览器驱动,有弊端:浏览器更新,还要重新下载对用版本的驱动。

chrome浏览器驱动下载地址:http://chromedriver.storage.googleapis.com/index.html

  • 查看chrome浏览器版本:浏览器设置--关于chrome

python+selenium环境搭建(一)_第9张图片

  • 查看与浏览器对应的chromedriver版本

python+selenium环境搭建(一)_第10张图片

 

python+selenium环境搭建(一)_第11张图片

  • 下载与chrome浏览器相匹配的chromedriver版本,解压后,将chromedriver.exe放置到python的目录下;然后把驱动的路径添加到环境变量path。

python+selenium环境搭建(一)_第12张图片

可以使用第二种方式进行自动化安装浏览器驱动,这个是一个老师自己开发的,需要用安装包(要求python3.9以上)。

pip install webdriver-helper

 

更多干货


python+selenium环境搭建(一)_第13张图片

python+selenium环境搭建(一)_第14张图片

完整版文档下载方式:

这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。


如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “✍️评论” “收藏” 一键三连哦!

你可能感兴趣的:(自动化测试,软件测试,程序人生,软件测试工程师,自动化测试,web自动化测试)