技术分享 | Selenium多浏览器处理

实战演示

  • Python 版本
python 复制代码
#导入依赖
import os
from selenium import webdriver


def test_browser():
    #使用os模块的getenv方法来获取声明环境变量browser
    browser = os.getenv("browser").lower()
    #判断browser的值
    if browser == "headless":
        driver = webdriver.PhantomJS()
    elif browser == "firefox":
        driver = webdriver.Firefox()
    else:
        driver = webdriver.Chrome()
    driver.get("https://ceshiren.com/")
  • Java 版本
python 复制代码
//导入依赖
import org.junit.jupiter.api.BeforeAll;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.safari.SafariDriver;

public class EnvTest {
    public static WebDriver driver;
    @BeforeAll
    public static void initData() {
        //获取声明环境变量browser
        String browserName = System.getenv("browser");
        //判断browser的值
        if ("chrome".equals(browserName)) {
            driver = new ChromeDriver();
        } else if ("firefox".equals(browserName)) {
            driver = new FirefoxDriver();
        } else if ("safari".equals(browserName)) {
            driver = new SafariDriver();
        }
        driver.get("https://ceshiren.com/");
    }
}

启动的时候设置 browser 使用的浏览器驱动,就可以进行多浏览器的处理

  • Python 版本
python 复制代码
browser=firefox pytest test_hogwarts.py
  • Java 版本
python 复制代码
browser="chrome" mvn -Dtest=AlertTest test

在 Windows 下比较特殊,要使用 Windows 下的 set 来给变量赋值

  • Python 版本
python 复制代码
>set browser=firefox
>pytest test_hogwarts.py
  • Java 版本
python 复制代码
>browser="chrome" 
>mvn -Dtest=AlertTest test

需要注意的是,要先将各个浏览器的驱动配置好,具体的配置方式参考 Selenium 安装章节。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
biuyyyxxx10 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
chatexcel12 小时前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
Wpa.wk14 小时前
容器编排 - 了解K8s(pod, deployment,service,lable等概念)
经验分享·测试工具·docker·云原生·容器·kubernetes
橘颂TA16 小时前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo
VT.馒头17 小时前
【力扣】2625. 扁平化嵌套数组
前端·javascript·算法·leetcode·职场和发展·typescript
Wpa.wk17 小时前
容器编排 - K8s - 配置文件参数说明和基础命令
经验分享·测试工具·docker·云原生·容器·kubernetes
我送炭你添花18 小时前
工业触摸屏:PCAP(投影电容式)触摸屏控制器选型推荐(工业级,2025-2026主流)
嵌入式硬件·自动化
流㶡18 小时前
Python爬虫:POST与Selenium
爬虫·python·selenium
写点什么呢19 小时前
Ltspice_安装与使用
学习·测试工具
郝学胜-神的一滴19 小时前
深入解析Linux网络编程之bind函数:从基础到实践的艺术
linux·服务器·网络·c++·websocket·程序人生