Selenium自动化测试超详细总结

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快  

最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,但是对于没有学过的人来说,通过资料再到自己写的代码,发现有些东西没有,有些方法又不相同,导致脚本不能运行,提醒我,看是否能花点时间,把selenium的内容好好梳理一下,从基础开始,到能够梳理出一个selenium的知识图谱更好。

整个内容可能不是一次能写完的,所以我打算分多次来写,如果各位看完后,有什么问题也可以发信息给我,我给大家解答一下,写这个也是为了方便在未来selenium还会有新的版本更新,以后也方便做个对比。
本次内容从一下几个方面来写吧:

  1. selenium的作用
  2. selenium版本的介绍
  3. selenium工作原理
  4. selenium安装
  5. 浏览器基本操作

1、selenium的介绍

Selenium是Thought Works公司开发的一套基于web应用的自动化测试工具,直接运行在浏览器中,模拟用户操作。它可以被用于单元测试、集成测试、回归测试、系统测试、冒烟测试、验收测试,并且可以运行在各种浏览器和操作系统上。
目前使用selenium的人群大概有两大类吧,一类是软件测试工程师,他们可以通过selenium来实现自动化的测试,以提高回归测试的效率,降低人员的执行成本。第二类可能就是很多写爬虫的人,因为现在网页端爬取数据的人有很多,服务端做了很多的反爬策略,及各种限制如动态加载等,单独的通过接口来爬取数据的难度和可行性有所降低,而selenium可以模拟人为的在页面上执行各种操作,那么各种反爬的手段可能对它来讲也就没有什么意义了,当然也有人说,还有各种验证码也会有影响,验证码的问题我们今天先不谈,后面我看是否可以单独出一篇对验证码处理的文章。

2、selenium的版本介绍

selenium从发布到至今经历了1、2、3、4个版本,截止目前发布的最新版本是4.7版本,版本跨度最大的其实是1.0版本到2.0版本,1.0版本中包含了ide、Grid、core和rc四大部分,2.0在1.0基础上加入了webdriver,webdriver提供了更为简单的编程接口,弥补了1.0中Selenium-RC的一些不足和限制,对外提供了更简洁的restfull的API接口。

selenium1.0的主要内容:

  1. DE:可以通过IDE完成测试过程的录制和回放。主要用来给初学者了解selenium,但不适合直接作为日常自动化的测试。
  2. Grid:是selenium部署、测试及执行(分布式测试用例执行)。
  3. RC:selenium Remote Control,一个代理与控制器。
  4. Core:selenium的测试机制核心部分,包含测试用例集的执行,断言,由js代码组成,支持夸平台运行。

selenium2.0 = selenium1.0 + webdriver

3、selenium工作原理

3.1、客户端(selenium支持多种编程语言,所以客户端的请求可以使用各种语言来调用接口),selenium 通过调用WeDriver类的start方法去启动浏览器驱动,创建服务的启动。
3.2、通过服务端返回的session id,在下一次请求时,携带这个id,将客户端要执行的操作发送给服务端,服务端解析用户发送请求中的操作,并将操作指令发送给浏览器去执行。
3.3、浏览器执行客户端操作,并将操作的结果返回给服务端,服务端将执行结果进行封装,并返回给客户端。
客户端在启动服务端时,服务端会启动一个9515的端口用来与客户端连接,客户端调用selenium提供的方法,在由selenium将请求转化为对应的操作接口指令,根据操作指令调用对应的API接口,通过API接口调用将用户操作发送给浏览器端去执行。

这部分的内容需要在后续的过程中,解析代码来理解他的原理和过程。

4、selenium安装

安装selenium环境,这里以python 3.8的为例,安装完成python后,并且配置好python相关的环境变量,不懂的可以私信我。
需要安装的有:
1、selenium
2、浏览器驱动
3、浏览器

4.1 安装selenium

如果python环境已经安装完成,可以使用pip来安装selenium,在开始菜单中,输入cmd,打开dos窗口,执行下列命令

 4.2 安装浏览器驱动

安装浏览器驱动,需要根据浏览器来决定,使用不同的浏览器,就需要选择不同的浏览器驱动,浏览器驱动也需要根据浏览器的版本来考虑,所以浏览器、浏览器版本要与浏览器驱动及驱动版本向对应,下面列出几种常见浏览器的驱动下载地址
1、Chrome(Google)浏览器:http://chromedriver.storage.googleapis.com/index.html
先确定自己浏览器的版本,在chrome浏览器中的帮助中,查看关于,上面会显示浏览器版本,或者直接在浏览器url地址上输入chrome://settings/help,下面这个是我浏览器的版本

根据版本号,在驱动下载页面中,找到对应的版本

因为我是window的系统,所以我选择chromedriver_win32.zip,下载后,将里面的chromedriver.exe文件解压出来,其实放在哪无所谓,放的地方不同后面写代码时的处理会有所区别。一般建议放在path这个环境变量能访问到的位置,或者干脆放在python的安装目录下也行

2、Firefox(火狐)浏览器:Releases · mozilla/geckodriver · GitHub
采用同样的方式下载对应版本的geckodriver驱动,Firefox的版本和geckodriver的版本对应关系如下,也可以直接去官网查看,
官网地址:Supported platforms — Firefox Source Docs documentation

3、Edge :Microsoft Edge WebDriver - Microsoft Edge Developer
首先也是要确定Edge的版本,然后根据版本到官网下载驱动

4.3 安装浏览器

这部分内容就不再赘述,给为可以直接到官网下载安装即可,这里给新手们提醒下,安装过程中,最好不要修改安装的路径。

4.4 验证安装结果

打开pycharm,编写如下代码,如果可以打开对应的浏览器,并且跳转到百度页面,则说明安装成功。这里以Chrome浏览器为例

5、浏览器基本操作

上面的代码中,已经说明了如何打开浏览器,并且跳转到指定的URL地址。下面说明下对浏览器的基本操作方法

 除了上面的基本操作外,也可以通过Option类来配置浏览器的启动

6、总结 

 最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

### 解决PyCharm无法加载Conda虚拟环境的方法 #### 配置设置 为了使 PyCharm 能够成功识别并使用 Conda 创建的虚拟环境,需确保 Anaconda 的路径已正确添加至系统的环境变量中[^1]。这一步骤至关重要,因为只有当 Python 解释器及其关联工具被加入 PATH 后,IDE 才能顺利找到它们。 对于 Windows 用户而言,在安装 Anaconda 时,默认情况下会询问是否将它添加到系统路径里;如果当时选择了否,则现在应该手动完成此操作。具体做法是在“高级系统设置”的“环境变量”选项内编辑 `Path` 变量,追加 Anaconda 安装目录下的 Scripts 文件夹位置。 另外,建议每次新建项目前都通过命令行先激活目标 conda env: ```bash conda activate myenvname ``` 接着再启动 IDE 进入工作区,这样有助于减少兼容性方面的问题发生概率。 #### 常见错误及修复方法 ##### 错误一:未发现任何解释器 症状表现为打开 PyCharm 新建工程向导页面找不到由 Conda 构建出来的 interpreter 列表项。此时应前往 Preferences/Settings -> Project:...->Python Interpreter 下方点击齿轮图标选择 Add...按钮来指定自定义的位置。按照提示浏览定位到对应版本 python.exe 的绝对地址即可解决问题。 ##### 错误二:权限不足导致 DLL 加载失败 有时即使指定了正确的解释器路径,仍可能遇到由于缺乏适当的操作系统级许可而引发的功能缺失现象。特别是涉及到调用某些特定类型的动态链接库 (Dynamic Link Library, .dll) 时尤为明显。因此拥有管理员身份执行相关动作显得尤为重要——无论是从终端还是图形界面触发创建新 venv 流程均如此处理能够有效规避此类隐患。 ##### 错误三:网络连接异常引起依赖下载超时 部分开发者反馈过因网速慢或者其他因素造成 pip install 操作中途断开进而影响整个项目的初始化进度条卡住的情况。对此可尝试调整镜像源加速获取速度或是离线模式预先准备好所需资源包后再继续后续步骤。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值