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

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

image.png

文 | 极光

来源: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 ,不同的浏览器需要下载不同的驱动,以下是常见浏览器驱动的下载地址:



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

3f186d59d72a15a2bda5095907406cc.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,然后就可以看到如下效果:


61504e41c12523ab3dd5d2d97c0e3b3.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,然后看下效果:

01ae4e2b935505bf14d439ccea4cdfe.png

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


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


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


总结


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


目录
相关文章
|
4月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
本文介绍了Python中使用Selenium进行Web自动化测试的基本操作。Selenium是一个广泛使用的浏览器自动化工具,支持多种语言、浏览器和操作系统。首先,需要安装Python和Selenium库,然后根据所用浏览器下载相应的webdriver。以Chrome为例,确保webdriver版本与浏览器匹配。接着,通过简单的代码示例展示了如何启动浏览器、打开网页、输入搜索词并执行搜索。文章以逐步引导的方式帮助读者入门Selenium自动化测试。
|
4月前
|
监控 IDE jenkins
什么是自动化测试,看完你就懂了!
【1月更文挑战第2天】随着互联网技术的飞速发展,软件本身的规模和复杂度也是逐步增加,为了保证软件项目能够保质保量交付到客户手中,软件测试环节就显得非常重要了
|
4月前
|
人工智能 自动驾驶 安全
破壁人AI百度:科技公司反内卷的典型样本
破壁人AI百度:科技公司反内卷的典型样本
60 0
破壁人AI百度:科技公司反内卷的典型样本
|
4月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
反了!居然让我教她自动化测试!
44 1
|
测试技术
你真的需要自动化测试吗?
先想清楚场景和价值
86 0
|
11月前
|
人工智能 自动驾驶 安全
破壁人AI百度:科技公司反内卷的典型样本
互联网整个行业都在陷入被动且尴尬的局面。去年开始流行的“内卷”一词,恰如其分的描述了互联网的现状,比如抖音开始做外卖,微信强推视频号,一直硝烟弥漫的电商市场,更是激战在社区团购上。 内卷背后也有人感慨,互联网到了尽头。支撑这一论述的是,移动互联网的人口红利已经消失,几款国民型APP用户增长都固定在了10亿这个级别,只能依靠自然人口的增长和迁移。
52 0
破壁人AI百度:科技公司反内卷的典型样本
|
11月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 Selenium,今天就来跟大家一起了解下 Python 如何使用 Selenium 进行自动化测试。 简单介绍 Selenium 大家应该都很熟悉了吧,简单说它就是个基于浏览器的 Web 自动化测试工具,基本上是自动化测试人员首选工具。因为相比其他工具,它有很多的优势: 支持多种语言,比如 Python、Java、C或C#、ruby 等都支持; 支持多种浏览器, 比如 IE、FireFox、Safari、Opera、Chrome 这些主流浏览器基本都支持; 支持多种操作系统,比如 Windows、Mac、Linux
64 0
|
4天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
1天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2144 11
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
1天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1145 13
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码