Selenium 是一个 Web 应用的自动化框架。主要应用于 Web 应用程序的自动化测试。
通过它,测试工程师可以写出自动化程序,模拟人在浏览器里操作 Web 界面。 比如点击界面按钮,在文本框中输入文字等操作。
除此以外,它还支持所有基于 Web 的管理任务自动化。
https://www.selenium.dev/
Selenium 的特点
- 开源免费:基于这点,能够吸引大部分公司愿意使用它来作为自动化测试的框架
- 多浏览器支持:支持 Chrome、Firefox、IE、Edge、Safari 等浏览器
- 多平台支持:支持 Linux、Windows、Mac 系统平台
- 多语言支持:支持 Java、Python、Ruby、JavaScript、C++ 等开发语言
- 对 Web 页面有良好的支持
- 简单、灵活:使用时调用的 API 简单,只需要使用开发语言导入调用即可
- 支持分布式测试:使用 Selenium Grid
- 支持录制、回放与脚本生成:使用 Selenium IDE
Selenium 的历史版本
Selenium 经历了3个版本,Selenium 1.X、Selenium 2.X 以及目前的 Selenium 3.X。
其中 Selenium 1.X 与 Selenium 2.X 最大的区别在于 WebDriver。 WebDriver 曾经是 Selenium 的竞争对手,能弥补 Selenium 1.X 存在的不足。
而 Selenium 2.X 则是 Selenium 与 WebDriver 两个项目的合并,也就是说,Selenium 2.X = Selenium 1.X + WebDriver。
直到现在,使用最为广泛的是 Selenium 3.X,它最大的变化在于:
- 去掉了 Selenium RC
- Firefox 浏览器拥有了独立的驱动——geckodriver
- Edge 浏览器与 Safari 浏览器原生驱动的支持
Selenium 的工作原理
从上图可以看出:
自动化脚本需要调用客户端库,在 Python 环境中安装 Selenium 库 非常简单,使用 pip install selenium 即可。
脚本程序的自动化请求,都是通过客户端库里的 API 发送给浏览器驱动 – WebDriver。再由 WebDriver 来实际执行浏览器的操作。
比如,模拟用户点击界面按钮, 自动化脚本作为客户端,调用客户端库内 click() 的方法,将 点击元素 的请求给到指定的浏览器驱动 WebDriver, 再由 WebDriver 将这个请求转发给浏览器。
总结
不要只做收藏从未停止,行动从未开始的人,很多事情,做着做着就无师自通了。如果在做的过程中还能稍微加点思考,稍微看一些别人的经验和做法,成长会更快,效果也会更好!加油吧,测试人!路就在脚下,成功就在明天!
一个用心码了这么多文字的人,往往渴望得到大家的认可。如果你觉得这篇文章对你有帮助,双击屏幕,给我点个赞呀!
更多软件测试资源分享
软件测试技术交流群