Selenium多浏览器处理

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

//导入依赖
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 版本

browser=firefox pytest test_hogwarts.py

Java 版本

browser="chrome" mvn -Dtest=AlertTest test

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

Python 版本

>set browser=firefox
>pytest test_hogwarts.py

Java 版本

>browser="chrome" 
>mvn -Dtest=AlertTest test

在这里插入图片描述
需要注意的是,要先将各个浏览器的驱动配置好,具体的配置方式参考 Selenium 安装章节

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

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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-12 23:50:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-12 23:50:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-12 23:50:02       82 阅读
  4. Python语言-面向对象

    2024-03-12 23:50:02       91 阅读

热门阅读

  1. 【PTA】L1-021 L1-022 L1-023 L1-024 L1-025(C)第四天

    2024-03-12 23:50:02       42 阅读
  2. 【面试准备日常】从头复习mysql--20240308

    2024-03-12 23:50:02       38 阅读
  3. MongoDB聚合运算符:$divide

    2024-03-12 23:50:02       43 阅读
  4. [go 面试] 分布式事务框架选择与实践

    2024-03-12 23:50:02       43 阅读
  5. 软考笔记--基于架构的软件开发方法

    2024-03-12 23:50:02       49 阅读
  6. k8s(kubernetes)怎么查看pod服务对应哪些docker容器

    2024-03-12 23:50:02       44 阅读
  7. MongoDB聚合运算符:$dateTrunc

    2024-03-12 23:50:02       45 阅读
  8. CMS垃圾收集

    2024-03-12 23:50:02       47 阅读
  9. python入门(一)

    2024-03-12 23:50:02       38 阅读
  10. IOS面试题object-c 21-30

    2024-03-12 23:50:02       45 阅读
  11. R语言中ggplot2图例位置、颜色、背景、标题

    2024-03-12 23:50:02       45 阅读
  12. [Python]`threading.local`创建线程本地数据

    2024-03-12 23:50:02       44 阅读
  13. 前端点击切换样式/切换主题

    2024-03-12 23:50:02       43 阅读
  14. 排列数字(DFS)

    2024-03-12 23:50:02       40 阅读