软件测试/测试开发丨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
相关推荐
言乐61 分钟前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
weixin_440730508 分钟前
线程02-并发串行-互斥锁-Semaphore-Event
python·thread
张小凡vip1 小时前
python--爬虫--经验积累的遇到的坑
开发语言·爬虫·python
毕业设计7031 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
xifangge20252 小时前
AGENTS.md 怎么写?涵盖 Java、Python、Vue、Go 的 8 套开箱即用模板
java·vue.js·python
刘广睿2 小时前
批量截图与长图拼接:自动化工作流的三种实现方案对比
爬虫·自动化·效率工具·python3.11
大草原的小灰灰2 小时前
Python基础语法
开发语言·python
小葱炖豆腐3 小时前
python绘制excel折线图
python·excel·numpy·pandas·matplotlib
Ticnix4 小时前
MCP 实战:把工具层从 Agent 里彻底解耦
python·mcp
XZ-0700015 小时前
week4-1-figure画布
python