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

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



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



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

3bca924950146b235fd49cae831fde3.jpg


简单开始


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


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


37e173695938a64d2a894dcef7e8fb1.jpg

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


a7baf15b468b6812c7a842e4d57c027.jpg

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


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


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


总结


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

相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 机器人
Sora模型背后的技术
Sora模型是基于Transformer架构的创新自然语言处理模型,融合自注意力机制、动态学习策略和多任务优化,显著提升文本生成与理解能力。其引入强化学习和多模态处理,拓展了在智能客服、内容创作、医疗、法律等领域的广泛应用,未来将与大数据、物联网和机器人技术深度融合,推动人工智能发展迈向新高度。
|
10月前
|
人工智能 自然语言处理 数据挖掘
探索CRM系统:销售易、白码、纷享销客的品牌与功能分析
销售易CRM是一款功能强大的客户关系管理工具,支持移动化与社交化操作,销售人员可随时随地访问和更新客户信息。它融合了AI与大数据技术,提供智能数据分析,帮助企业洞察客户需求并预测销售趋势。销售易CRM覆盖营销、销售和服务全流程,并实现自动化管理,提升业务效率。其国际化能力满足跨国公司需求,支持多语言、多币种及海外服务器集群,助力企业全球化发展。适用于大型企业、注重销售效率与客户体验的企业,以及进行全流程数字化转型的企业。
|
机器学习/深度学习 人工智能 监控
人工智能的伦理挑战与社会责任
【8月更文挑战第11天】在人工智能技术迅速发展的今天,我们面临着前所未有的伦理和社会责任问题。本文将探讨AI技术可能带来的负面影响,包括隐私侵犯、自动化失业、偏见增强以及决策透明度的缺失。同时,我们将讨论如何通过制定合理的政策、加强国际合作、提高公众意识和培养专业人才来应对这些挑战,确保AI技术的健康发展和社会的和谐进步。
416 1
|
9月前
|
存储 Java
Java中判断一个对象是否是空内容
在 Java 中,不同类型的对象其“空内容”的定义和判断方式各异。对于基本数据类型的包装类,空指对象引用为 null;字符串的空包括 null、长度为 0 或仅含空白字符,可通过 length() 和 trim() 判断;集合类通过 isEmpty() 方法检查是否无元素;数组的空则指引用为 null 或长度为 0。
|
11月前
|
人工智能 运维 自然语言处理
AI for Network Ops
网络运维工作涵盖从规划设计到日常维护的多个方面,随着网络规模扩大,人工运维难以应对。自动化运维系统应运而生,通过批量配置变更和监控工具提升效率。大模型(LLM)具备推理、学习和泛化能力,可作为网工的智能助手,优化故障定位等任务。团队通过多轮信息摘要和微调模型,实现了高效准确的故障定位,单个故障定位耗时小于1.5分钟,准确率超过80%。未来,大模型还将应用于智能答疑机器人和意图驱动网络等领域,全面提升网络运维效率。
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
298 1
|
监控 前端开发 开发工具
ARMS前端监控
【8月更文挑战第25天】
437 1
|
数据安全/隐私保护 网络架构
telnet实验操作 wireshark抓包实验操作
telnet实验操作 wireshark抓包实验操作
|
JavaScript IDE 开发工具
vue3【2024版】开发环境搭建(含官网和nvm下载切换最新版node,修改node下载源,创建项目,启动项目,安装vscode插件Vue - Official)
vue3【2024版】开发环境搭建(含官网和nvm下载切换最新版node,修改node下载源,创建项目,启动项目,安装vscode插件Vue - Official)
1420 3