技术分享 | 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 安装章节。

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

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

相关推荐
杨小扩2 小时前
特别放送:关于一个无法修复的系统级Bug
程序人生·bug
June bug2 小时前
【Python基础】变量、运算与内存管理全解析
开发语言·python·职场和发展·测试
好奇的菜鸟5 小时前
在 Postman 中高效生成随机环境变量的完整指南
测试工具·lua·postman
测试开发技术5 小时前
如何在 Pytest 中调用其他用例返回的接口参数?
面试·自动化·pytest·接口·接口测试·api测试
车载测试工程师5 小时前
汽车功能安全-嵌入式软件测试(软件合格性测试)【目的、验证输入、集成&验证要求】11
功能测试·网络协议·测试工具·安全·车载系统·汽车·测试覆盖率
chao_7896 小时前
CSS表达式——下篇【selenium】
css·python·selenium·算法
随便写个昵称6 小时前
selenium跳转到新页面时如何进行定位
selenium·测试工具
随便写个昵称6 小时前
登录为图片验证时,selenium通过token直接进入页面操作
selenium·测试工具
chao_7896 小时前
Selenium 自动化实战技巧【selenium】
自动化测试·selenium·算法·自动化
王者鳜錸6 小时前
基于Selenium和FFmpeg的全平台短视频自动化发布系统
selenium·ffmpeg·音视频