写点什么

软件测试 / 测试开发 | Selenium 多浏览器处理

作者:测试人
  • 2023-02-15
    北京
  • 本文字数:890 字

    阅读完需:约 3 分钟

获取更多相关知识

通过对代码的改造,实现自动化脚本对多浏览器的支持。

通过传递不同的参数测试不同的浏览器,用来实现浏览器的兼容性测试。

实战演示

  • Python 版本

#导入依赖import osfrom 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 安装章节。

发布于: 刚刚阅读数: 3
用户头像

测试人

关注

还未添加个人签名 2022-08-29 加入

还未添加个人简介

评论

发布
暂无评论
软件测试/测试开发 | Selenium多浏览器处理_软件测试_测试人_InfoQ写作社区