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

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

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

 

文 | 极光

来源:Python 技术「ID: pythonall」

 

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

1.简单介绍

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.简单开始

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

Chrome 浏览器

· // 导入 webdriver
from selenium import webdriver

Chrome 浏览器

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

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

 

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

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

· 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 浏览器

image.png

// 导入 webdriver
from selenium import webdriver

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

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

3.简单使用

当然启动浏览器,并打开页面我们只是走出了第一步,也就是写了个 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,然后看下效果:

 

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

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

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

4.总结

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

相关文章
|
监控
险境中的智慧航行:ERP系统的风险管理与应对策略
险境中的智慧航行:ERP系统的风险管理与应对策略
1572 5
|
Android开发
【原理篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X6 webview(二)
【原理篇】WebView 实现嵌套滑动,丝滑般实现吸顶效果,完美兼容 X6 webview
|
存储 运维 物联网
长安汽车×云器Lakehouse一体化数据平台,成本降低50%,建立智能互联时代的领先优势
长安汽车智能化研究院致力于汽车智能化技术研究,通过构建基于云器科技Lakehouse一体化数据平台,解决了高并发、大规模车联网数据处理难题,实现了数据实时写入、高效分析和成本优化,助力汽车智能驾驶、网联和交通全面发展。
495 0
长安汽车×云器Lakehouse一体化数据平台,成本降低50%,建立智能互联时代的领先优势
|
机器学习/深度学习 存储 人工智能
Satori:快速体验MIT与哈佛推出7B参数的推理专家模型,具备自回归搜索和自我纠错能力
Satori 是由 MIT 和哈佛大学等机构联合推出的 7B 参数大型语言模型,专注于提升推理能力,具备强大的自回归搜索和自我纠错功能。
313 5
|
UED
Axure中继器实战篇:让数据展示和交互设计更上一层楼!
Axure中继器实战篇:让数据展示和交互设计更上一层楼!
673 0
|
机器学习/深度学习 自然语言处理 算法
利用机器学习算法进行自动化测试
利用机器学习算法进行自动化测试
|
弹性计算 固态存储 大数据
阿里云服务器多少钱一年?2024年7月最新租用价格表曝光!
阿里云2024年服务器租用费用更新,轻量应用服务器2核2G3M带宽年费82元,折合6.8元/月;2核4G5M带宽ECS优惠价199元/年。新老用户同享99元/年的2核2G经济型e实例,4核16G游戏服务器70元/月,8核32G服务器160元/月。GPU服务器gn6v、gn6i等最高配置月费4685.20元起。续费折扣根据时长,最长享3折优惠。按小时计费,如通用型u1-c1m4.large 0.45元/小时。带宽和云盘亦有多种计费选项。详情参见阿里云官网。
1014 4
|
Linux 数据安全/隐私保护 虚拟化
Linux 环境搭建以及xshell远程连接
Linux 环境搭建以及xshell远程连接
|
算法 Oracle Java
【JVM】了解JVM中动态判断对象年龄的原理
【JVM】了解JVM中动态判断对象年龄的原理
325 0
|
编解码
MATLAB | SCI 绘图配色第三四期 | 二维堆叠柱状图 | 大理寺日志
MATLAB | SCI 绘图配色第三四期 | 二维堆叠柱状图 | 大理寺日志
462 0