如何使用 Python+selenium 进行 web 自动化测试?

news/2025/1/24 14:22:17/

使用Python+selenium进行web自动化测试主要分为以下步骤:

在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!_哔哩哔哩_bilibili在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!共计16条视频,包括:1. 【web自动化】主流Web自动化测试技术对比、2. 【web自动化】Selenium自动化测试环境一键搭建、3. 【web自动化】Selenium八大定位策略详解等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1sM4y1d7tq/?spm_id_from=333.337.search-card.all.click

1、安装Python和selenium

首先需要安装Python和selenium库。可以通过pip命令进行安装:

# 安装 Python
sudo apt-get install python3# 安装 pip
sudo apt-get install python3-pip# 安装 selenium 库
pip3 install selenium

2、下载浏览器驱动程序

Selenium需要浏览器的驱动程序来操作浏览器。可根据使用的浏览器类型选择对应的驱动程序,并将其添加到系统路径中或者在代码中指定路径。

例如,如果使用Chrome浏览器,则需要下载ChromeDriver驱动程序:

wget https://chromedriver.storage.googleapis.com/89.0.4389.23/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/local/bin/

3、编写测试脚本

编写自动化测试脚本,通过selenium提供的API来模拟用户操作,并检查结果。以下是一个简单的示例:

from selenium import webdriver# 创建WebDriver对象,启动浏览器
driver = webdriver.Chrome()# 打开网页
driver.get('https://www.baidu.com')# 查找搜索框并输入内容
input_box = driver.find_element_by_css_selector('#kw')
input_box.send_keys('selenium')# 查找“百度一下”按钮并点击
submit_button = driver.find_element_by_css_selector('#su')
submit_button.click()# 检查搜索结果中是否包含关键字
assert 'selenium' in driver.title# 关闭浏览器
driver.quit()

以上代码使用Chrome浏览器,打开百度首页,输入" selenium"并提交搜索,并检查搜索结果页面标题中是否包含 "selenium"。可以根据需要修改脚本。

4、运行测试脚本

运行自动化测试脚本,可使用命令行或者任意IDE调试器执行脚本。

例如,使用Python解释器执行脚本:

python3 test.py

运行脚本后,会启动Chrome浏览器并模拟用户操作,最终检查结果。如果一切正常,就可以在控制台看到输出 "OK"。

这只是一个简单的示例,实际上web自动化测试涉及到很多方面,如元素定位、异常处理、报告生成、并发执行等问题,需要根据实际需求进行设计和扩展。

文章来源:https://blog.csdn.net/caixiangting/article/details/130581863
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/62919.html

相关文章

react antdesign中的Form.list的默认值问题解决方法

主要讲添加和编辑用同一个Form.list表单,来回切换并且改变此表单的默认展示几项 相信大家用过antdesign中的Form.list时候都会遇到一个问题吧,就是怎么默认值显示一项? 然后再网上也搜了很多方法,结果还是没有达到自己想要的效果…

【Java】面试常问知识点(数据库相关知识)

Redis Redis数据结构,跳表如何实现?跳表添加层级的时机? 布隆过滤器的底层原理 Redis数据结构 有5中数据结构,string(字符串类型)、list(列表类型)、hash(哈希表类型…

洗稿用什么软件-洗稿软件免费

洗稿文章的主要优势 洗稿文章的主要优势在于提高文章的质量和效率。以下是洗稿文章的几个主要优势: 优化结构和语言 洗稿可以删除冗余、无用和重复的内容,同时对文章的结构和语言进行优化,提高文章的可读性和吸引力。这可以使文章更加专业…

java状态机实现订单状态转移

一、状态机 状态机是状态模式的一种应用,相当于上下文角色的一个升级版。在工作流或游戏等各种系统中有大量使用,如各种工作流引擎,它几乎是状态机的子集和实现,封装状态的变化规则。状态机可以帮助开发者简化状态控制的开发过程…

Spring中@Async用法总结(IT枫斗者)

Spring中Async用法总结(IT枫斗者) 引言 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的,但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实&…

【Python入门】字符串的扩展

前言 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函…

第一章 程序设计基本方法

文章目录 第一章 程序设计基本方法1 程序设计语言1.1 程序设计语言1.2 编译和解释1.3 计算机编程1、为什么学习编程?2、编程 2 Python语言概述2.1 Python语言的发展2.2 Python最小程序 3 Python开发环境配置3.1 Python开发环境安装1、打开官网下载2、运行安装包 3.2…

Java基础--->基础部分(2)【Java值传递】

文章目录 Java 值传递基本类型参数的传递引用类型参数的传递1引用类型参数的传递2问什么不引入引用传值呢? Java 值传递 Java 中的值传递主要使用的参数有形参和实参 实参定义的参数,已经实际存在可以直接拿来使用 形参指的是在使用函数时需要传递进函数…