基于selenium和python的UI自动化测试方案

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

对于比较复杂的系统,每次有小的迭代测试同学不可能会把所有的流程验证一遍,如果开发无意改动影响了某些流程而测试又没测试到,就可能会出现生产问题,因此很有必要通过自动化的测试去确保系统的稳定性。自动化测试可以选择接口自动化测试和UI自动化测试,从复杂度和实用性来讲UI自动化测试会易用一些,因此我们选择了UI自动化测试。

UI自动化测试是指通过编写自动化脚本来模拟用户与应用程序的交互,测试应用程序的用户界面是否正常工作。这些自动化脚本可以模拟用户的点击、输入和其他交互动作,以及验证应用程序的响应和预期结果。UI自动化测试可以帮助开发团队检测和解决用户界面的问题,提高应用程序的质量和稳定性。常见的UI自动化测试工具包括Selenium、Appium和Cypress等。

selenium介绍

Selenium是一个流行的自动化测试框架,用于测试Web应用程序的用户界面。它提供了一组功能强大的工具和库,允许开发人员使用多种编程语言(如Java、Python、C#、JavaScript等)编写自动化测试脚本。

Selenium可以模拟用户在浏览器中的交互行为,例如点击按钮、输入文本、选择下拉菜单等。它支持各种浏览器,包括Chrome、Firefox、Safari等,并且可以在不同的操作系统上运行。

Selenium的核心组件包括:

  • Selenium WebDriver:用于控制浏览器并执行测试操作的API。
  • Selenium Grid:用于在多个浏览器和操作系统上并行运行测试的工具。
  • Selenium IDE:一个浏览器插件,用于录制和回放用户界面操作,生成测试脚本。

使用Selenium,您可以编写灵活、可靠的自动化测试脚本,验证Web应用程序的功能和用户界面是否正常工作。它是一个广泛使用的工具,被许多开发团队和测试团队用于构建自动化测试套件。

如何进行UI自动化测试
1、安装python
2、安装Selenium库,可以使用pip命令行安装Selenium库
复制代码
pip install selenium 
3、下载浏览器驱动程序:

根据您使用的浏览器类型,下载相应的浏览器驱动程序。例如,如果您使用Chrome浏览器,则需要下载ChromeDriver。确保将驱动程序的路径添加到系统的环境变量中。推荐按照以下方式安装:

复制代码
pip install webdriver-manager 

可以通过以下方式配置安装

复制代码
// 老版本

from selenium import webdriver

from webdriver_manager.chrome import ChromeDriverManager


driver = webdriver.Chrome(ChromeDriverManager().install())


// 新版本

from selenium import webdriver

driver = webdriver.Chrome()
4、开始编写

计划实现功能:跳转到某系统,登录进入

复制代码
from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.action_chains import ActionChains

import time


driver = webdriver.Chrome()

driver.maximize_window()

driver.get('要进入的系统')


# 等待加载

driver.implicitly_wait(4)

# 获取登录按钮

element=driver.find_element(By.CLASS_NAME, value='login-com-btn')

# 用户名输入框

userAccountEle = driver.find_element(By.ID, value="userAccout")

# 密码输入框

passwordEle = driver.find_element(By.CSS_SELECTOR, value='input[type="password"]')

# 验证码输入框

veriCodeEle = driver.find_element(By.CSS_SELECTOR, value='input[placeholder="请输入验证码"]')

# 输入登录信息和验证码

userAccountEle.send_keys('用户名')

passwordEle.send_keys('密码')

veriCodeEle.send_keys('验证码')

# 点击登录

element.click()
5、效果展示
总结
1、使用场景

对比较重要的核心系统可以在UAT的稳定版本执行核心流程的UI自动化测试,验证流程是否能够正常运行,结合异常上报系统上报异常数据,及时获得运行结果以及异常数据,做到实时对系统质量的监控。

2、如何更好的使用

如果想做的专业的话,可以集成到自动化测试系统,通过系统自动生成UI测试用例,定时执行以及报告的输出。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

​这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
Lucifer__hell13 分钟前
【python+tkinter】图形界面简易计算器的实现
开发语言·python·tkinter
2301_8129148715 分钟前
py day34 装饰器
开发语言·python
小白程序员成长日记39 分钟前
2025.11.08 力扣每日一题
算法·leetcode·职场和发展
我的xiaodoujiao44 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 24--数据驱动--参数化处理 Excel 文件 1
python·学习·测试工具·pytest
安冬的码畜日常1 小时前
【JUnit实战3_29】第十八章:REST API 接口测试(上)——RESTful 风格的后端 API 的搭建
测试工具·单元测试·restful·rest api·junit 5
开心-开心急了1 小时前
关于Flutter与Qt for python 的一些技术、开源、商用等问题
开发语言·python·qt·flutter
@小码农1 小时前
2025年北京海淀区中小学生信息学竞赛第一赛段试题(附答案)
人工智能·python·算法·蓝桥杯
Q_Q19632884752 小时前
python+django/flask基于机器学习的就业岗位推荐系统
spring boot·python·django·flask·node.js·php
他们叫我一代大侠2 小时前
Leetcode :模拟足球赛小组各种比分的出线状况
算法·leetcode·职场和发展
snakecy2 小时前
信息系统项目管理师--论文case
大数据·学习·职场和发展·区块链