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

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

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



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


2.1.png


简单开始


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


Chrome 浏览器


// 导入 webdriver
from selenium import webdriver
// executable_path 用于指定driver存放路径
browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver')
// 打开百度页面
browser.get('https://wwww.baidu.com/')


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


2.2.png


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


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


Firefox 浏览器


// 导入 webdriver
from selenium import webdriver
// executable_path 用于指定driver存放路径
browser = webdriver.Firefox(executable_path='/Users/xx/python/firefoxdriver')
// 打开百度页面
browser.get('https://wwww.baidu.com/')


EDGE 浏览器


// 导入 webdriver
from selenium import webdriver
// executable_path 用于指定driver存放路径
browser = webdriver.Edge(executable_path='/Users/xx/python/edgedriver')
// 打开百度页面
browser.get('https://wwww.baidu.com/')


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


简单使用


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


// 导入 webdriver
from selenium import webdriver
// executable_path 用于指定driver存放路径
browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver')
// 打开百度页面
browser.get('https://wwww.baidu.com/')
// 在搜索框内输入 `python selenium` 并点搜索返回结果
browser.find_element_by_id("kw").send_keys("python selenium")


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


2.3.png

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


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


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


总结


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

相关文章
|
13天前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
Selenium 是一个广泛使用的Web自动化测试工具,支持多种编程语言如Python、Java等,兼容多种浏览器(IE、Firefox、Chrome等)和操作系统(Windows、Mac、Linux)。它不仅功能强大,还能实现分布式部署以在多台机器上并行执行测试。此外,Selenium 是免费且开源的。开始使用前,需要先安装Python和Selenium库,然后下载对应浏览器的webdriver。例如,对于Chrome,需下载chromedriver并确保版本与浏览器匹配。基础使用包括启动浏览器、打开网页,如示例代码所示,通过`find_element_by_id()`等方法与网页元素交互。
|
测试技术
你真的需要自动化测试吗?
先想清楚场景和价值
72 0
|
测试技术 机器人
自动化测试总结(二)
关联上文:自动化测试总结(一) 其他参考文档见文末 GUI测试的稳定性问题 关于这个问题,最典型的情景就是:同样的测试用例,在同样的测试执行环境下,测试的结果有时是Success,有时是Fail,这严重降低了GUI测试的可信性,同时也是GUI层面的自动化测试位于金字塔最顶端的原因之一。
1386 0
|
7天前
|
存储 安全 数据挖掘
性能30%↑|阿里云AnalyticDB*AMD EPYC,数据分析步入Next Level
第4代 AMD EPYC加持,云原生数仓AnalyticDB分析轻松提速。
性能30%↑|阿里云AnalyticDB*AMD EPYC,数据分析步入Next Level
|
2天前
|
容器 Perl Kubernetes
深入 Kubernetes 网络:实战K8s网络故障排查与诊断策略
本文介绍了Kubernetes网络的基础知识和故障排查经验,重点讨论了私有化环境中Kubernetes网络的挑战。首先,文章阐述了Kubernetes网络模型的三大核心要素:Pod网络、Service网络和CNI,并强调了其在容器通信和服务发现中的作用。接着,通过三个具体的故障案例,展示了网络冲突、主节点DNS配置更改导致的服务中断以及容器网络抖动问题的解决过程,强调了网络规划、配置管理和人员培训的重要性。最后,提到了KubeSkoop exporter工具在监控和定位网络抖动问题中的应用。通过这些案例,读者可以深入了解Kubernetes网络的复杂性,并学习到实用的故障排查方法。
57572 10
|
5天前
|
人工智能 前端开发 JavaScript
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
阿里云验证码产品,使用业界先进的风控引擎结合“规则+AI”模型,有效区分真实用户和机器自动化脚本攻击,避免机器请求造成业务损失。主要适用于垃圾注册、刷库撞库,薅羊毛,短信被刷等风险场景。为您提供安全可靠的业务环境。本文为大家介绍验证码使用时滑动验证流程及验证不通过的问题排查。
64592 2
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
DeepRec Extension 打造稳定高效的分布式训练
DeepRec Extension 即 DeepRec 扩展,在 DeepRec 训练推理框架之上,围绕大规模稀疏模型分布式训练,我们从训练任务的视角提出了自动弹性训练,分布式容错等功能,进一步提升稀疏模型训练的整体效率,助力 DeepRec 引擎在稀疏场景中发挥更大的优势。
|
6天前
|
缓存 Kubernetes 安全
小而美:两步完成从源码到应用的极简交付
本文将主要介绍,如何通过 SAE 快速实现项目从源码到应用的交付与上线。
51424 1
|
5天前
|
人工智能 并行计算 监控
性价比提升50%,阿里云HPC优化实例hpc8ae正式商业化
近日,全球领先的云计算厂商阿里云宣布正式开启最新HPC优化实例hpc8ae 的商业化发布,该实例依托阿里云自研的「飞天+CIPU」架构体系,搭载第四代 AMD EPYC处理器,专为高性能计算应用优化,特别适用于计算流体、有限元分析、多物理场模拟等仿真类应用,CAE 场景下的性价比最少提升 50%。
|
11天前
|
SQL 存储 关系型数据库
PolarDB-X CDC之"兼容MySQL,高于MySQL"
本文主要介绍一下PolarDB-X在CDC能力上那些高阶能力。

热门文章

最新文章