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

简介: Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。因为相比其他工具,它有很多的优势:支持多种语言,比如 Python、Java、C或C#、ruby 等都支持;支持多种浏览器, 比如 IE、FireFox、Safari、Opera、Chrome 这些主流浏览器基本都支持;支持多种操作系统,比如 Windows、Mac、Linux 这个款主流操作系统。其实单就上面这些优势就足以证明它的强大了,再加上它还支持分布式部署自动化测试程序,在多台不同的机器上同时执行。是不是感觉很厉害?然而这么强大的工具它居然还是免费的

微信图片_20220422151447.jpg

文 | 极光

来源:Python 技术「ID: pythonall」


一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 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,不同的浏览器需要下载不同的驱动,以下是常见浏览器驱动的下载地址:

捕获.PNG


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


微信图片_20220422153323.png


简单开始

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

  • Chrome 浏览器

2.PNG


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


微信图片_20220422154252.png

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

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

  • Firefox 浏览器

3.PNG


  • EDGE 浏览器

4.PNG


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


简单使用


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

5.PNG


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

微信图片_20220422154522.png



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

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

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


总结


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



相关文章
|
8月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
反了!居然让我教她自动化测试!
52 0
|
JSON 测试技术 网络安全
【自动化测试】测试资源
【自动化测试】测试资源
173 0
你真的需要自动化测试吗?
其实自动化这个概念很早前就有了,最初主要应用于工业生产领域,指通过指令或软件控制机械工具完成一些重复度较高的工作。后来随着计算机技术的发展和互联网行业的蓬勃趋势,开始应用于软件开发和测试领域。
你真的需要自动化测试吗?
|
8月前
|
弹性计算 运维 API
运维编排最佳实践-批量修改ECS续费时长
通过OOS,用户可以高效地批量处理ECS实例的续费设置,大大提高了运维效率。
运维编排最佳实践-批量修改ECS续费时长
|
8月前
|
SQL 分布式计算 Spark
PolarDB-X用15M内存跑1G的TPCH
在数据时代,过多耗内存的大查询都有可能压垮整个集群,所以其内存管理模块在整个系统中扮演着非常重要的角色。而PolarDB-X 作为一款分布式数据库,其面对的数据可能从TB到GB字节不等,同时又要支持TP和AP Workload,要是在计算过程中内存使用不当,不仅会造成TP和AP相互影响,严重拖慢响应时间,甚至会出现内存雪崩、OOM问题,导致数据库服务不可用。CPU和MEMORY相对于网络带宽比较昂贵,所以PolarDB-X 代价模型中,一般不会将涉及到大量数据又比较耗内存的计算下推到存储DN,DN层一般不会有比较耗内存的计算。这样还有一个好处,当查询性能低的时候,无状态的CN节点做弹性扩容代价相对于DN也低。鉴于此,所以本文主要对PolarDB-X计算层的内存管理进行分析,这有助于大家有PolarDB-X有更深入的理解。
264 4
PolarDB-X用15M内存跑1G的TPCH
|
8月前
|
存储 机器学习/深度学习 缓存
链路追踪(Tracing)其实很简单——分布式链路追踪的挑战与限制
作者:夏明(涯海) 创作日期:2022-07-14 专栏地址:【稳定大于一切】【稳定大于一切】作为一门新兴技术,分布式链路追踪的技术演进史并不算长,仅有十数年。目前,它仍处于不断被探索、快速迭代的周期。为了更好的了解与应用分布式链路追踪技术,我们来看下它目前面临的几项关键挑战与限制。关键挑战与应对分...
166 0
链路追踪(Tracing)其实很简单——分布式链路追踪的挑战与限制
|
8月前
|
存储 分布式计算 监控
日志数据投递MaxCompute最佳实践
日志服务采集到日志后,有时需要将日志投递至MaxCompute的表中进行存储与分析。本文主要向用户介绍将数据投递到MaxCompute完整流程,方便用户快速实现数据投递至MaxCompute。
日志数据投递MaxCompute最佳实践
|
8月前
|
运维 监控 物联网
通过云监控(CMS)报警回调实现云服务器报警信息的语音播报
本文介绍了获取云监控报警回调的有趣实践。
224 0
通过云监控(CMS)报警回调实现云服务器报警信息的语音播报
|
8月前
|
弹性计算 数据安全/隐私保护
大咖与小白的日常:如何快速搭建个人网盘?
手机常常提示存储空间不足,是删照片删App还是换手机?大咖来教你一招:用阿里云ECS和NextCloud低成本搭建一个云上私人网盘!
121 0
大咖与小白的日常:如何快速搭建个人网盘?
|
8月前
|
安全 网络协议 网络安全
【看案例】冠赢互娱:用游戏盾解决DDoS/CC攻击
冠赢互娱凭借阿里云专为游戏行业定制的游戏盾安全防护方案,在APP端切入游戏盾,对整个传输链路进行安全处置,精准定位黑客并实现风险隔离,解决了DDoS攻击、游戏CC攻击问题。
138 0
【看案例】冠赢互娱:用游戏盾解决DDoS/CC攻击