当前位置: 首页 > web >正文

[软件测试]:什么是自动化测试?selenium+webdriver-manager的安装,实现你的第一个脚本

目录

1. 什么是自动化测试?

回归测试

自动化分类

2. web自动化测试

3. selenium


1. 什么是自动化测试?

通过自动化测试工具,编写脚本,自动执行测试用例,主要用于回归测试,性能测试等重复测试任务

常见面试题

自动化测试能取代人工测试吗?

自动化测试脚本是由测试人员编写的,后续有功能的变更,也需要修改测试脚本,更新测试用例,所以自动化测试不能取代人工

自动化测试可以大幅度降低工作量?

错误

自动化测试还需要人工编写测试脚本,测试人员需要维护自动化测试。测试主要由人工测试为主,自动化测试来辅助测试

回归测试

自动化测试主要用于回归测试。什么是回归测试?

软件有多个版本需要进行功能的整体回归,每增加一个功能,都可能会影响之前的功能,所以新版本和旧版本都需要进行测试,使用自动化测试。

自动化分类

接口自动化测试:直接调用API接口,验证接口的输入输出是否符合预期,关注程序的内部交互和数据传输

前端自动化测试:模拟用户在UI界面上的操作,验证前端页面的功能,又分为web前端自动化和客户端自动化

  • web前端自动化测试:主要针对浏览器的Web程序,测试页面元素,交互功能和兼容性

  • 客户端自动化测试:针对移动端应用,测试安装,启动,界面间交互和设备兼容性

2. web自动化测试

web自动化测试的前提是打开浏览器,通过访问web服务器来对服务器界面进行测试,程序想要打开浏览器就要安装对应的web驱动。

若通过安装驱动的方式来启动浏览器,每次浏览器更新后对应的驱动也要更新,为了解决这个问题,selenium中提供了驱动管理工具 webdriver - manager,有了webdriver - manager无需手动安装浏览器驱动,即使浏览器更新也不会影响自动化的执行

先安装python环境,然后安装webdriver-manager,在控制台中输入这条命令

pip install webdriver-manager 

安装selenium

pip install selenium==4.0.0

3. selenium

我们安装好了webdriver-manager驱动,可以通过脚本打开浏览器,安装了selenium,可以使用selenium编写自动化脚本。

在pyCharm编辑器中,检查python解释器,确定selenium库和webdriver-manager库都安装成功并加载到项目中,然后编写一段简单的selenium脚本

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
​
# 创建谷歌浏览器驱动对象,安装谷歌浏览器驱动
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
#访问百度页面
driver.get("https://www.baidu.com")
#在百度页面的搜索框中搜索 "许嵩" 
driver.find_element(By.CSS_SELECTOR, "#kw").send_keys("许嵩")
#点击百度页面的 "百度一下" 按钮
driver.find_element(By.CSS_SELECTOR, "#su").click()
#休眠30秒
time.sleep(30)
#关闭浏览器
driver.quit()

selenium+web驱动+浏览器的工作原理

image-20250610205143312

  1. 通过selenium编写的自动化脚本代码在ChromeDriverService中创建一个服务

  2. 通过创建好的服务打开webdriver,安装在本地的驱动服务IP为localhost,port为ChromeDriverService中创建的端口号,该服务地址为selenium向webdriver发送请求的服务地址。

  3. 向浏览器驱动程序发送HTTP请求,浏览器驱动程序解析请求,打开浏览器,并获得sessionid,如果再次对浏览器操作需携带次id

  4. 打开浏览器后,所有的selenium的操作(访问地址,查找元素等)均通过创建好的服务连接到webdriver,然后使用excute发送请求

  5. 驱动收到请求并对请求进行解析,转成浏览器能够进行解析的脚本发送给浏览器,浏览器通过请求的内容执行对应动作

  6. 浏览器再把执行的动作结果通过浏览器驱动程序返回给测试脚本

http://www.xdnf.cn/news/13368.html

相关文章:

  • Kotlin基础语法二
  • 大数据学习(136)-数据埋点
  • 玄机 日志分析-Tomcat日志分析 WriteUp
  • G-Star公益行 | 公益组织入门开源技术,六月北京点燃改变的星火
  • 【MySQL数据库】InnoDB存储引擎:事务原理redolog、undolog与版本控制MVCC
  • QuecPython 文件系统操作
  • 多光谱图像技术在苗期作物与杂草识别中的研究进展
  • C语言学习20250610
  • Dynadot邮箱工具指南(六):将域名邮箱添加至网易邮箱大师
  • Leetcode 3576. Transform Array to All Equal Elements
  • 新能源知识库(34)什么是单一制和两部制
  • 【SAP MM SD FICO】销售视图和会计视图
  • C++ 8.1内联函数之宏定义
  • Metasploitable: 1靶场渗透
  • 在postgresql中,group by时取第一个值
  • 网络编程(Modbus进阶)
  • Manus 框架与 COKE 框架解析及完整 Demo
  • Unreal从入门到精通之使用 CheatManager 自定义控制台命令
  • 操作系统的一些名词
  • 期末考试复习总结-第一章《HarmonyOS介绍》
  • ​计算机网络原理超详解说​
  • 2025-03-14-Google检索技巧
  • 华为云Flexus+DeepSeek征文 | 基于ModelArts Studio、DeepSeek大模型和Dify搭建网站智能客服助手
  • 深度学习——简介
  • Ubuntu下挂载NTFS格式磁盘
  • 访问服务器项目,服务器可以ping通,但是端口访问不到
  • C++ mutex 锁的使用
  • JavaScript BOM 详细介绍
  • 重温经典算法——二分查找
  • 借助AI识别测试盲区:从需求文档中挖掘遗漏场景