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

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

微信图片_20230415224843.jpg


简单介绍


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


微信图片_20230415224955.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,然后就可以看到如下效果:


微信图片_20230415225006.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,然后看下效果:


微信图片_20230415225016.png


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


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


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


总结


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

相关文章
|
自然语言处理 算法 数据挖掘
自蒸馏:一种简单高效的优化方式
背景知识蒸馏(knowledge distillation)指的是将预训练好的教师模型的知识通过蒸馏的方式迁移至学生模型,一般来说,教师模型会比学生模型网络容量更大,模型结构更复杂。对于学生而言,主要增益信息来自于更强的模型产出的带有更多可信信息的soft_label。例如下右图中,两个“2”对应的hard_label都是一样的,即0-9分类中,仅“2”类别对应概率为1.0,而soft_label
自蒸馏:一种简单高效的优化方式
|
存储 安全 Java
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
823 4
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
|
定位技术 Windows
Windows电脑删除文件时确认是否删除文件的提示对话框的取消显示方法
Windows电脑删除文件时确认是否删除文件的提示对话框的取消显示方法
1048 1
|
安全 Java 数据库
第4章 Spring Security 的授权与角色管理(2024 最新版)(上)
第4章 Spring Security 的授权与角色管理(2024 最新版)
980 0
|
云安全 安全 网络安全
云端防御:云计算环境中的网络安全策略与实践
【5月更文挑战第38天】 在数字化转型的浪潮中,企业纷纷采用云计算服务以提升运营效率和灵活性。然而,云服务的广泛部署也带来了前所未有的安全挑战。本文深入探讨了云计算环境中网络安全的关键问题,分析了当前主流的云安全威胁模型,并提出了一系列创新的安全策略和最佳实践。通过结合案例分析和技术评估,我们旨在为读者提供一套全面的参考框架,以增强其在云环境下的安全防御能力。
|
机器学习/深度学习 算法
刷题专栏(一):移除元素
刷题专栏(一):移除元素
185 0
|
Java 数据库
内存溢出的原因以及解决方案
内存溢出的原因以及解决方案
1154 0
|
SQL 存储 自然语言处理
OushuDB 用户指南类型转换之概述
OushuDB 用户指南类型转换之概述
115 1
|
Java
Java 技术篇-jre环境配置,jdk1.8的安装与环境变量设置
我来为大家演示 jdk8 的搭建,后面再讲一些 jdk8 和 jdk10 的一些区别。 为什么要安装 jdk8 版本呢,因为现在大多数软件的 java 环境是基于 8 版本的呢! 注: 个别软件还需要 jdk7 呢,我们电脑环境的 java 是 8 版本,个别软件的话我们可以单独对其配置,直接在对应软件的配置文档里设置就好了。
898 0
Java 技术篇-jre环境配置,jdk1.8的安装与环境变量设置

热门文章

最新文章