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

Posted 霍格沃兹测试开发学社

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术分享 | 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 安装章节。


以上是关于技术分享 | Selenium多浏览器处理的主要内容,如果未能解决你的问题,请参考以下文章

java-selenium处理弹窗问题

Selenium 中的多线程/多处理

Selenium 多窗口,网页frame 处理,多浏览器

Selenium多浏览器处理 (Chrome/Firefox/IE)

技术分享 | Web自动化之Selenium安装

523selenium多窗口处理