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 版本

复制代码
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 安装章节

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

相关推荐
过期动态6 分钟前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展
郝学胜-神的一滴18 分钟前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面
Raink老师31 分钟前
【AI面试临阵磨枪-086】什么是 AI Agent Skill?与传统 Function Calling、Tool 的区别?
人工智能·面试·职场和发展
空中湖4 小时前
SCL-90的微服务健康检查——90个探针覆盖10个心理维度
程序人生
Luminbox紫创测控4 小时前
氙弧老化测试全参数解析:滤镜类型、辐照度与黑标温度设定
人工智能·测试工具·安全性测试·测试标准
凯瑟琳.奥古斯特4 小时前
子查询原理与实战案例解析
开发语言·数据库·职场和发展·数据库开发
南浦别a4 小时前
第一百一十三天--慢慢改变吧
学习·程序人生
麦科信仪器5 小时前
一文读懂麦科信AHO1系列高分辨率汽车示波器
测试工具
Raink老师5 小时前
【AI面试临阵磨枪-087】Skill 生命周期:注册、加载、调度、熔断、卸载、版本管理?
人工智能·面试·职场和发展