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

Python自动化测试教程

文章目录

  • 前言
  • 1. 环境准备
    • 1.1Python安装
    • 1.2选择Python开发环境
    • 2.1 安装
    • 2.2 示例代码
    • 2.3 代码解释
  • 3. 使用pytest框架进行单元测试
    • 3.1 安装
    • 3.2 示例代码
    • 3.3 运行测试
    • 3.4 代码解释
  • 4. Web 应用自动化测试(使用Selenium)
    • 4.1 安装
    • 4.2 示例代码
    • 4.3 代码解释
  • 5. 测试报告生成
    • 5.1 使用pytest-html生成 HTML 测试报告
  • 6. 注意事项


前言

以下是一份较为全面的 Python 自动化测试教程,涵盖了自动化测试的基础知识、使用unittest和pytest框架进行测试的方法,以及 Web 应用自动化测试的示例。


1. 环境准备

1.1Python安装

访问 Python 官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载并安装 Python 3.x 版本。安装时勾选 “Add Python to PATH”,方便在命令行中使用 Python。

Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489
Python 3.13安装教程:https://blog.csdn.net/u014164303/article/details/146024500

Python 3.11下载地址:https://pan.quark.cn/s/9c44793cb24c
Python 3.13下载地址:https://pan.quark.cn/s/bce37ebd7f70

1.2选择Python开发环境

PyCharm 社区版(免费)或专业版(需付费或申请教育版)。安装完成后,打开 PyCharm,创建一个新的项目,在项目设置中选择之前创建的虚拟环境作为项目的 Python 解释器。PyCharm 功能强大,提供代码自动补全、调试等功能,适合开发大型项目。

Pycharm安装教程:https://blog.csdn.net/u014164303/article/details/145674773
PyCharm下载地址:https://pan.quark.cn/s/5756c8cf8b2a

2.1 安装

自动化测试是使用自动化工具来执行测试用例的过程,它可以提高测试效率、减少人为错误,并能快速反馈软件的质量。在 Python 中,有多个库和框架可用于自动化测试,常见的有unittest(Python 内置的测试框架)和pytest(功能强大且灵活的第三方测试框架)。

unittest是 Python 的内置模块,无需额外安装。

2.2 示例代码

import unittest

# 定义一个待测试的函数
def add(a, b):
    return a + b

# 创建一个测试类,继承自 unittest.TestCase
class TestAdd(unittest.TestCase):

    # 测试方法必须以 test_ 开头
    def test_add(self):
        result = add(2, 3)
        # 使用断言方法来验证结果
        self.assertEqual(result, 5)

if __name__ == '__main__':
    # 运行测试
    unittest.main()

2.3 代码解释

  • unittest.TestCase:是所有测试类的基类,测试类需要继承自它。
  • test_ 开头的方法:是测试方法,unittest会自动识别并执行这些方法。
  • 断言方法:如self.assertEqual()用于验证两个值是否相等。

3. 使用pytest框架进行单元测试

3.1 安装

pip install pytest

3.2 示例代码

# 定义一个待测试的函数
def add(a, b):
    return a + b

# 定义测试函数
def test_add():
    result = add(2, 3)
    assert result == 5

3.3 运行测试

在终端中,进入包含上述代码文件的目录,运行以下命令:

pytest

3.4 代码解释

pytest不需要创建测试类,直接定义以test_开头的函数即可。

  • assert语句:用于验证条件是否为真,如果条件为假,测试将失败。

4. Web 应用自动化测试(使用Selenium)

4.1 安装

pip install selenium

还需要下载对应浏览器的驱动(如 ChromeDriver),并将其添加到系统的环境变量中。

4.2 示例代码

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 创建 Chrome 浏览器驱动实例
driver = webdriver.Chrome()

try:
    # 打开网页
    driver.get('https://www.google.com')

    # 找到搜索框元素
    search_box = driver.find_element(By.NAME, 'q')

    # 在搜索框中输入内容
    search_box.send_keys('Python自动化测试')

    # 提交搜索表单
    search_box.submit()

    # 等待页面加载
    time.sleep(3)

    # 验证页面标题是否包含搜索关键词
    assert 'Python自动化测试' in driver.title

except AssertionError:
    print("测试失败:页面标题不包含搜索关键词。")
finally:
    # 关闭浏览器
    driver.quit()

4.3 代码解释

  • webdriver.Chrome():创建一个 Chrome 浏览器的驱动实例。
  • driver.get():打开指定的网页。
  • driver.find_element():根据指定的定位方式(如By.NAME)找到页面上的元素。
  • send_keys():向输入框中输入内容。
  • submit():提交表单。
  • assert语句:用于验证页面标题是否包含搜索关键词。
  • driver.quit():关闭浏览器。

5. 测试报告生成

5.1 使用pytest-html生成 HTML 测试报告

pip install pytest-html

运行测试时,添加–html=report.html参数:

pytest --html=report.html

运行结束后,会在当前目录下生成一个名为report.html的测试报告文件。

6. 注意事项

  • 测试用例的独立性:每个测试用例应该相互独立,不依赖于其他测试用例的执行结果。
  • 异常处理:在测试代码中适当添加异常处理,以确保测试过程的稳定性。
  • 测试数据的准备:对于复杂的测试场景,需要准备合适的测试数据,以覆盖各种情况。

相关文章:

  • Spring Boot 内置工具类,功能齐全!!
  • TTP/HTTPS、TCP/IP 协议、RPC、Socket 通信机制
  • 盛铂科技PDROUxxxx系列锁相介质振荡器(点频源):高精度信号源
  • GitLab常用操作
  • Java高频面试之集合-04
  • Nginx 开启Baise认证
  • 计算机二级MS之PPT
  • 数据库系统概论(一)详细介绍数据库与基本概念
  • 微服务概览与治理
  • 零售交易流程相关知识(top-down拆解)
  • 同步 Fork 仓库的命令
  • 公开笔记:自然语言处理(NLP)中文文本预处理主流方法
  • 软考高级信息系统项目管理师笔记-第12章项目质量管理
  • 【Manus资料合集】激活码内测渠道+《Manus Al:Agent应用的ChatGPT时刻》(附资源)
  • 布隆过滤器原理详解:高效解决大规模数据去重与查询问题
  • Mysql安装方式
  • Java 8 四大函数式接口详解
  • HOW - React 如何在在浏览器绘制之前同步执行 - useLayoutEffect
  • 数据结构拓展:详解realloc(C++)
  • K8S学习之基础十四:k8s中Deployment控制器概述
  • 石家庄net网站开发/网站建设制作模板
  • hltm 做网站教程/优化大师免费安装下载
  • 网站手机自动跳转/教育培训机构网站
  • 展示型企业网站开发/轻松seo优化排名
  • 平台类网站建设公司/seo专业培训seo专业培训
  • 如何在本单位网站上做链接/seo sem