Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例

下方查看历史精选文章

v1.1

此文会阐述怎样运用、、、以及达成测试自动化集成, 借由把这些工具联合运用, 能够达成自动化测试、测试结果报告、持续集成等功用, 提升测试效率与质量。

一、环境搭建

安装和

是为一种所具备流行特性的脚本性质语言, 是算作一个测试框架范畴的事物, 能够被应用用来编写以及运行测试用例, 于安装这个动作完成之后, 能够采用pip进行安装:

javascript 复制代码
`pip install pytest`

安装

存在着这样一个工具, 它属于自动化测试工具范畴, 能够被用来模拟用户在浏览器里头的操作行为, 并且它能够借助pip进行安装。

javascript 复制代码
`pip install selenium`

安装

存在这样一个工具, 它是用于测试结果报告的, 能够生成那种既漂亮又易于阅读的测试报告。能够从官网去下载安装包, 当安装完成之后把它添加到环境变量当中就可以了。在执行测试的这个时候呢, 需要借助-插件来生成报告。

安装

有一款流行的、用于自动构建、测试以及部署软件的持续集成工具, 能从官网下载安装包, 安装完毕后启动服务便可。

二、编写测试用例

待结束环境搭建事宜之后, 便能够着手开展编写测试用例的工作进程。紧接着呈现的是一个简易的测试用例:

javascript 复制代码
`import pytest
from selenium import webdriver
@pytest.fixture(scope="module")
def driver():
    driver = webdriver.Chrome()
    yield driver
    driver.quit()
def test_baidu_search(driver):
    driver.get("http://www.baidu.com")
    driver.find_element_by_id("kw").send_keys("pytest")
    driver.find_element_by_id("su").click()
    assert "pytest" in driver.title`

此测试用例运用模拟用户于百度进行搜索的进程, 且核查搜索结果页面的标题有无涵盖关键词, 测试用例借助 - 来管理实例, 以此在多个测试用例里共享同一实例。

三、生成报告

编写完测试用例之后, 能够运用 - 插件去生成报告。执行测试用例并生成报告可采用以下命令:

javascript 复制代码
`pytest --alluredir=report`

这个指令会于当下目录里产生一个目录, 该目录涵盖着测试结果的JSON数据, 运用以下命令去生成报告:

javascript 复制代码
`allure serve report`

这个命令会启动一个Web服务器,在浏览器中打开报告。

四、集成

做完测试用例编写以及报告生成以后, 能够把它整合进去, 达成持续集成。在里面, 能够运用以下步骤去配置测试任务:

javascript 复制代码
`cd /d %WORKSPACE%
pip install pytest
pip install selenium
pytest --alluredir=report
allure serve report`

这个命令会在工作空间中执行测试用例,并生成报告。

配置完成之后, 能够定期去执行测试任务, 自动化地运行测试用例, 进而生成测试结果报告。要是测试用例当中出现了问题, 便会自动化发送邮件去通知相关人员。如此一来能够助力团队迅速发现以及解决问题, 提升软件质量与效率。

总结

利用结合、、、以及等工具, 能够达成自动化测试、测试结果报告、持续集成等功能。这些工具可助力团队迅速发觉并解决问题, 提升软件质量与效率。要是您想学习更多有关测试自动化和持续集成的知识, 建议您去阅读相关的书籍、博客以及文档, 从而更好地掌握这些技术。

相关推荐
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技3 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1233 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero073 天前
Jev 与 Laya
python·语言模型