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

简介: 一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 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 版本要和你安装的浏览器版本一致,不然使用中可能会出现各种问题。

G{Z4VU)HSZFEUAMJAH1084V.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,然后就可以看到如下效果:


程序通过 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 找到了这个输入框。


相关文章
|
6月前
|
Web App开发 Java 测试技术
反了!居然让我教她自动化测试!
反了!居然让我教她自动化测试!
|
5月前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试的未来之路
随着软件开发行业的飞速发展,自动化测试已经成为确保软件质量和效率的关键手段。本文将深入探讨自动化测试的最新趋势、面临的挑战以及未来的发展方向,旨在为读者提供全面的视角,理解自动化测试如何适应不断变化的技术环境,并预测其对行业的影响。
|
7月前
|
文字识别 Devops 测试技术
什么是自动化测试?
什么是自动化测试?
150 0
|
7月前
|
监控 IDE jenkins
什么是自动化测试,看完你就懂了!
【1月更文挑战第2天】随着互联网技术的飞速发展,软件本身的规模和复杂度也是逐步增加,为了保证软件项目能够保质保量交付到客户手中,软件测试环节就显得非常重要了
你真的需要自动化测试吗?
其实自动化这个概念很早前就有了,最初主要应用于工业生产领域,指通过指令或软件控制机械工具完成一些重复度较高的工作。后来随着计算机技术的发展和互联网行业的蓬勃趋势,开始应用于软件开发和测试领域。
你真的需要自动化测试吗?
|
7月前
|
JavaScript 前端开发 API
从Vue 2到Vue 3:深入了解路由配置的变化与升级建议
欢迎阅读本篇文章,我们将带您深入探索Vue 2和Vue 3的路由配置。在现代前端开发中,路由是构建交互式Web应用程序不可或缺的一部分。Vue.js作为一种流行的JavaScript框架,在版本2和版本3之间进行了重大改进和升级。
|
前端开发 UED
react中懒加载实现原理
react中懒加载实现原理
218 0
|
Python
【python】bin/dec/hex/bnr进制转换函数及fp32转十六进制
【python】bin/dec/hex/bnr进制转换函数及fp32转十六进制
131 0
|
自然语言处理 IDE 测试技术
通义灵码智能编码助手,全面公测
通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/OpenAPI 的使用场景调优,助力开发者高效、流畅的编码。
107997 9
通义灵码智能编码助手,全面公测
|
算法 索引
代码随想录算法训练营第八天 | 344.反转字符串541. 反转字符串II 剑指Offer 05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串
代码随想录算法训练营第八天 | 344.反转字符串541. 反转字符串II 剑指Offer 05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串