软件测试/测试开发丨Selenium Web自动化多浏览器处理

点此获取更多相关资料

本文为霍格沃兹测试开发学社学员学习笔记分享

原文链接:https://ceshiren.com/t/topic/27185

一、多浏览器测试介绍

1.1、多浏览器测试背景

  • 用户使用的浏览器(firefox,chrome,IE 等)
  • web 应用应该能在任何浏览器上正常的工作,这样能吸引更多的用户来使用

1.2、多浏览器测试概述

  • 是跨不同浏览器组合验证网站或 web 应用程序功能的过程
  • 是兼容性测试的一个分支,用于保持功能和质量的一致性
  • 适用于面向客户的网站和组织内部使用的站点

二、多浏览器测试实现

2.1、多浏览器的实现方案

python 复制代码
actor 测试工程师 as tester
participant 命令行参数 as command
participant 配置信息 as config
participant 底层代码 as code

autonumber
tester -> command : 通过命令执行测试用例,通过参数指定浏览器: pytest --browser=Chrome
command -> config : 获得配置信息
config -> code: 传给底层代码,使用配置信息

2.2、pytest hook 函数

  • pytest_addoption 添加命令行参数组/命令行参数
  • pytest_configure 解析命令行选项,每个插件都会用到这个hook函数

2.3、pytest_addoption 与 pytest_configure

  • pytest_addoption:

    1. parser.getgroup 创建/获取组名
    2. addoption 添加一个命令行选项
  • pytest_configure:

    1. 通过config 对象的getoption()方法获取命令行参数
    2. 将命令行获取到的内容赋值给变量
python 复制代码
web_env = {}


def pytest_addoption(parser: Parser):
    hogwarts = parser.getgroup("hogwarts")
    hogwarts.addoption("--browser", default='Chrome', dest='browser')


def pytest_configure(config: Config):
    browser = config.getoption("--browser", default="Chrome")
    print(f"通过命令行获取到的浏览器为{browser}")
    web_env["browser"] = browser
相关推荐
Logintern0914 分钟前
使用VS Code进行Python编程的一些快捷方式
开发语言·python
Multiple-ji25 分钟前
想学python进来看看把
开发语言·python
liuyuzhongcc1 小时前
List 接口中的 sort 和 forEach 方法
java·数据结构·python·list
唐古乌梁海1 小时前
【pytest】编写自动化测试用例命名规范README
自动化·pytest
鸟哥大大1 小时前
【Python】pypinyin-汉字拼音转换工具
python·自然语言处理
jiugie1 小时前
MongoDB学习
数据库·python·mongodb
阿尔法波2 小时前
python与pycharm如何设置文件夹为源代码根目录
开发语言·python·pycharm
xing25162 小时前
pytest下allure
开发语言·python·pytest
眸笑丶2 小时前
使用 Python 调用 Ollama API 并调用 deepseek-r1:8b 模型
开发语言·python
dexianshen2 小时前
配置mysql8.0使用PXC实现高可用
python