反了!居然让我教她自动化测试!

简介: 一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 Selenium,今天就来跟大家一起了解下 Python 如何使用 Selenium 进行自动化测试。简单介绍Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。因为相比其他工具,它有很多的优势:支持多种语言,比如 Python、Java、C或C#、ruby 等都支持;支持多种浏览器, 比如 IE、FireFox、Safari、Opera、Chrome 这些主流浏览器基本都支持;支持多种操作系统,比如 Windows、Mac、Linux

反了!居然让我教她自动化测试!


一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 Selenium,今天就来跟大家一起了解下 Python 如何使用 Selenium 进行自动化测试。


简单介绍


Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。因为相比其他工具,它有很多的优势:


  • 支持多种语言,比如 Python、Java、C或C#、ruby 等都支持;


  • 支持多种浏览器, 比如 IE、FireFox、Safari、Opera、Chrome 这些主流浏览器基本都支持;


  • 支持多种操作系统,比如 Windows、Mac、Linux 这个款主流操作系统。


其实单就上面这些优势就足以证明它的强大了,再加上它还支持分布式部署自动化测试程序,在多台不同的机器上同时执行。


是不是感觉很厉害?然而这么强大的工具它居然还是免费的,并且代码已经开源,这简直不敢想象。


说的这么厉害,那它要如何使用呢?


环境安装


首先你得先装好了 Python,然后通过 pip install selenium 命令进行安装就可以了(参见 https://pypi.org/project/selenium/)。


安装完 selenium 后,还需要再下载 webdriver ,不同的浏览器需要下载不同的驱动,以下是常见浏览器驱动的下载地址:


微信截图_20220422222742.png


我平时都是用 Chrome 浏览器,所以我下载了 chromedriver ,但有一点需要注意,你下载的 chromedriver 版本要和你安装的浏览器版本一致,不然使用中可能会出现各种问题。


微信图片_20220422222937.png


简单开始


好了,现在我们就从最最简单的启动浏览器,然后打开一个网页开始。

微信截图_20220422223103.png

写好后保存为 test1.py Python 文件,然后执行命令 python test1.py,然后就可以看到如下效果:


微信图片_20220422223148.png


程序通过 selenium 调用 chromedriver 驱动 Chrome 浏览器启动,并让浏览器打开百度的首页,大概就是这么个过程。


除了使用 Chrome 浏览器,我们也可以使用其他的,比如 FirefoxEDGE 等。


微信截图_20220422223445.png


好了,通过对比上面代码相信你也能看出来,其实用哪个浏览器其实区别都不是很大,这里就不再一一截图了,接下来我就使用 Chrome 来介绍和演示效果了。


简单使用


当然启动浏览器,并打开页面我们只是走出了第一步,也就是写了个 Hello World,下面我们再慢慢介绍如何使用,再来看个简单例子:


微信截图_20220422223559.png


好了,我们再保存下然后执行命令 python test1.py,然后看下效果:


微信图片_20220422223604.png


没错,这次是打开百度首页后,又在搜索框输入 python selenium 字符串,并且点击 百度一下 按钮搜索出了结果。


但它是怎么获取到搜索框,这里我们用的是 find_element_by_id() 方法,也就是通过 HTML 标签元素的 id 找到了这个输入框。


那除了通过这个方法,还有别的方法能找到搜索框吗?


总结


好了,今天我们简单介绍了下 selenium 是什么,以及在 Python 中如何安装配置使用 selenium。如果你也对这个工具感兴趣,可以继续关注了解更多。






相关文章
|
4月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
反了!居然让我教她自动化测试!
反了!居然让我教她自动化测试!
|
5月前
|
存储 监控 安全
自动化测试适用场景
自动化测试适用场景
|
缓存 Ruby Perl
重装Cocoapods遇到的问题
重装Cocoapods遇到的问题
重装Cocoapods遇到的问题
|
缓存 网络协议 网络安全
DNS污染以及使用镜像源中遇到的问题
今天遇到了一个麻烦的问题,针对这一个问题,我在一天之内又遇到了两个应用场景。以下是问题叙述:
DNS污染以及使用镜像源中遇到的问题
|
弹性计算 缓存 NoSQL
ECS使用体验
通过使用阿里云为我们大学生免费提供的ECS云服务器,我颇有感想,很感谢阿里云为我们大学生提供的如此方便优惠的活动,提供了我们学习服务器的机会,对我们大学生十分友好。
ECS使用体验
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。因为相比其他工具,它有很多的优势:支持多种语言,比如 Python、Java、C或C#、ruby 等都支持;支持多种浏览器, 比如 IE、FireFox、Safari、Opera、Chrome 这些主流浏览器基本都支持;支持多种操作系统,比如 Windows、Mac、Linux 这个款主流操作系统。其实单就上面这些优势就足以证明它的强大了,再加上它还支持分布式部署自动化测试程序,在多台不同的机器上同时执行。
反了!居然让我教她自动化测试!
|
JavaScript 前端开发 程序员
那些让人直呼卧槽的Python代码!
Python 是一个设计优美的解释型高级语言, 它提供了很多能让程序员感到舒适的功能特性。但有的时候, Python 的一些输出结果对于初学者来说似乎并不是那么一目了然。
271 0
|
负载均衡 安全 Java
|
编解码 Rust 小程序
|
测试技术 机器人 调度