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

简介: 一个做测试的居然让我教她怎么做自动化测试!

文 | 极光

来源: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 版本要和你安装的浏览器版本一致,不然使用中可能会出现各种问题。

简单开始

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

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

程序通过 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,然后看下效果:

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

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

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

总结

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

目录
相关文章
|
3天前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
反了!居然让我教她自动化测试!
33 1
|
9月前
|
存储 弹性计算 运维
如何从用户视角搭建可观测体系?阿里云ECS业务团队的设计思路
本文以阿里云ECS业务为例,探讨阿里云最核心、亚太地区业务规模最大的产品之一,在极高的稳定性和性能要求下,如何基于云构建可观测性并从客户视角建立观测能力,以及在推进体系建设中的成功经验和待改进之处。
如何从用户视角搭建可观测体系?阿里云ECS业务团队的设计思路
|
7月前
|
存储 Shell Linux
Linux:命令行参数和环境变量
Linux:命令行参数和环境变量
116 0
|
9月前
|
存储 Java 测试技术
迄今为止最完整的DDD实践
对于一个架构师来说,在软件开发中如何降低系统复杂度是一个永恒的挑战。
21223 7
|
9月前
|
SQL 关系型数据库 MySQL
【MySQL】索引和事务重点知识汇总
【MySQL】索引和事务重点知识汇总
27506 6
|
7月前
|
机器学习/深度学习 Prometheus Kubernetes
谁在用Go语言?Google、Uber、Netflix等大公司广泛采用
谁在用Go语言?Google、Uber、Netflix等大公司广泛采用
44 0
|
9月前
|
人工智能 自然语言处理 API
浅谈ModelScope
ModelScope是阿里推出的下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,其开发目标为让模型应用更简单。ModelScope希望在汇集行业领先的预训练模型,减少开发者的重复研发成本,提供更加绿色环保、开源开放的AI开发环境和模型服务,助力绿色“数字经济”事业的建设。ModelScope平台以开源的方式提供了多类优质模型,开发者可在平台上免费体验与下载使用。
|
9月前
|
机器学习/深度学习 人工智能 算法
【保姆级教程】用PAI-DSW修复亚运历史老照片
本教程整合了来自开源社区的高质量图像修复、去噪、上色等算法,并使用 Stable Diffusion WebUI 进行交互式图像修复。参与者可以根据需要进行参数调整,组合不同的处理方式以获得最佳修复效果。参与者还可以在活动页面上传修复后的成果图片,参与比赛,获胜者将有机会获得丰厚的奖品。
44114 189
【保姆级教程】用PAI-DSW修复亚运历史老照片
|
9月前
|
机器学习/深度学习 数据采集 人工智能
ONE-PEACE:探索通往无限模态的通用表征模型
过去几年里,表征模型在自然语言处理、计算机视觉、语音处理等领域取得了巨大的成功。经过大量数据学习的表征模型,不仅可以在各种下游任务上取得良好的效果,还可以作为大规模语言模型(LLM)的基座模型,为LLM提供多模态理解能力。随着多模态技术的发展,尤其CLIP[1]之后大家都意识到一个好的多模态表征模型在很多单模态任务上都会发挥着至关重要的基础模型的作用。学习了大量模态alignment的数据之后的模型逐渐在学会去理解各个模态和模态间蕴含的知识,甚至通过对大量模态的学习促进对其它模态的理解。
21637 7
|
9月前
|
人工智能 自动驾驶 安全
破壁人AI百度:科技公司反内卷的典型样本
互联网整个行业都在陷入被动且尴尬的局面。去年开始流行的“内卷”一词,恰如其分的描述了互联网的现状,比如抖音开始做外卖,微信强推视频号,一直硝烟弥漫的电商市场,更是激战在社区团购上。