阿里云开发者社区

电脑版
提示:原网页已由神马搜索转码, 内容由developer.aliyun.com提供.

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

2024-06-1649
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介:反了!居然让我教她自动化测试!


一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 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 浏览器
// 导入 webdriverfrom selenium import webdriver// executable_path 用于指定driver存放路径browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver')// 打开百度页面browser.get('https://wwww.baidu.com/')

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

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

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

  • Firefox 浏览器
// 导入 webdriverfrom selenium import webdriver// executable_path 用于指定driver存放路径browser = webdriver.Firefox(executable_path='/Users/xx/python/firefoxdriver')// 打开百度页面browser.get('https://wwww.baidu.com/')
  • EDGE 浏览器
// 导入 webdriverfrom selenium import webdriver// executable_path 用于指定driver存放路径browser = webdriver.Edge(executable_path='/Users/xx/python/edgedriver')// 打开百度页面browser.get('https://wwww.baidu.com/')

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

简单使用

当然启动浏览器,并打开页面我们只是走出了第一步,也就是写了个 Hello World,下面我们再慢慢介绍如何使用,再来看个简单例子:

// 导入 webdriverfrom 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,今天就聊这些,如果你喜欢记得点 在看

相关文章
|
4月前
|
Web App开发Java测试技术
反了!居然让我教她自动化测试!
一个做测试的居然让我教她怎么做自动化测试,真是反了……行吧,正好懂一些 Selenium,今天就来跟大家一起了解下 Python 如何使用 Selenium 进行自动化测试。
|
4月前
|
文字识别Devops测试技术
什么是自动化测试?
什么是自动化测试?
|
4月前
|
监控IDEjenkins
什么是自动化测试,看完你就懂了!
【1月更文挑战第2天】随着互联网技术的飞速发展,软件本身的规模和复杂度也是逐步增加,为了保证软件项目能够保质保量交付到客户手中,软件测试环节就显得非常重要了
|
3月前
|
人工智能安全iOS开发
苹果与OpenAI的合作及马斯克反对的原因
苹果与OpenAI的合作及马斯克反对的原因
|
3月前
|
SQL安全API
选择PHP框架时需要考虑的具体因素
该文探讨了选择PHP框架的关键因素,包括项目需求(如RESTful API开发)、框架的成熟度与社区支持、性能、易用性与扩展性、安全性和文档资源。以Laravel为例,强调其在这些方面的优势,如丰富的社区、强大的安全特性和优秀的文档支持。选择合适的框架能提升开发效率和应用性能,同时应随项目需求变化灵活调整。
90344
|
3月前
|
人工智能安全数据库
Windows的新Recall功能:隐私和安全的噩梦?
Windows的新Recall功能:隐私和安全的噩梦?
|
小程序iOS开发
微信小程序下载文件和转发文件给好友总结
微信小程序下载文件和转发文件给好友总结
107700
微信小程序下载文件和转发文件给好友总结
|
3月前
|
弹性计算运维网络安全
上云“加速器”——基于云效流水线快速上线企业门户网站
阿里云提出使用云效将项目代码部署到ECS,快速构建企业门户网站。该方案融合云原生技术和持续交付,通过云效流水线简化从开发到部署的全过程,实现快速迭代。文章详细阐述了技术架构,包括客户端、云解析DNS、VPC、ECS等组件,以及部署流程,包括准备阶段、部署网站服务、解析域名和可选的静态资源加速。此外,还介绍了如何使用云效平台创建流水线,实现自动化构建与部署,以及如何通过一键部署简化流程。整个方案旨在降低运维成本,提高速度和灵活性,同时提供域名备案和SSL证书配置的指导。
上云“加速器”——基于云效流水线快速上线企业门户网站
|
4月前
|
机器学习/深度学习Web App开发算法
Python 机器学习算法交易实用指南(一)(5)
Python 机器学习算法交易实用指南(一)
28822
你真的需要自动化测试吗?
其实自动化这个概念很早前就有了,最初主要应用于工业生产领域,指通过指令或软件控制机械工具完成一些重复度较高的工作。后来随着计算机技术的发展和互联网行业的蓬勃趋势,开始应用于软件开发和测试领域。
你真的需要自动化测试吗?