Python自动化测试学习笔记

2024/1/29 Pythonpytestselenium自动化测试

# pytest

pytest是基于python的测试框架。

官网:https://docs.pytest.org/en/7.4.x/ (opens new window)

特色:

  1. 按照约定自动收集用例
  2. 作用于测试对象的多种标记功能
  3. 自定义fixture
  4. 多种执行方式
  5. 可视化测试报告
  6. 控制台打印执行记录

两个文件,conftest.py 和 pytest.ini

  1. conftest.py文件,conftest.py中定义的fixture,不用导入测试模块,可以直接在测试模块中以str或函数方法参数使用
  2. pytest.ini文件,pytest执行方案配置。常用:addopts,markers,python_function等。
# 安装pytest
pip install pytest

# -U 升级已安装的pytest
pip install -U pytest

# 检查version
pytest --version
1
2
3
4
5
6
7
8

# 测试发现约定

pytest 将在当前目录及其子目录中运行所有文件名为 test_*.py*_test.py 的文件。

https://www.cnblogs.com/bonus_scene/p/13629896.html (opens new window)

# 执行测试用例

运行全部测试用例:

pytest
1

运行指定测试用例:

pytest -k 关键字
1

pytest 默认不输出任何打印信息,如果要看打印信息,需要在运行时添加-s的指令。

# Web自动化测试

# 安装selenium

pip install selenium
1

# 安装webdriver-helper

# pip install webdriver-helper
pip install webdriver_helper==1.0.5 # 解决 ImportError: cannot import name 'get_webdriver' from 'webdriver_helper' (unknown location)
1
2

webdriver-helper 是一个 python 第三方库,用来更加便捷的使用 selenium,完成浏览器自动化控制的辅助工具。

因为 chrome 频繁自动更新,浏览器驱动随时可能失效,导致代码跑不起来。

有了 webdriver-helper 就再也不用关心浏览器和浏览器驱动的匹配问题了。

目前有两个版本:

第一个是免费版,版本代号 1.*, 这个版本可以帮助你免去寻找、匹配、下载合适的浏览器驱动。

pip install webdriver-helper==1.*
1

第二个是付费版本,版本代号 2.*,是在免费版的基础上进行了改进和增强。