You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Excel读取浏览器名通过WebDriverManager启动WebDriver访问URL

可行性结论

完全可以实现该需求,不需要提前在application.properties中预配置浏览器相关参数,整套流程无硬编码依赖。

实现步骤
  • 读取Excel配置
    引入Apache POI、EasyExcel这类常用Excel解析依赖,编写简单的读取逻辑,直接提取表格中存储的浏览器名称字段即可。读取后记得对字符串做归一化处理:统一转小写、去除前后空格,避免因为单元格格式问题导致匹配失败。如果有需要,也可以把目标访问URL一并存在Excel中同步读取,进一步减少硬编码。
  • 动态初始化WebDriver
    WebDriverManager原生支持按浏览器类型自动拉取对应版本的驱动文件、完成环境配置,不需要提前写死驱动路径或浏览器类型。拿到Excel读取到的浏览器名称后,做分支匹配即可初始化对应浏览器的WebDriver实例。
  • 启动访问
    实例初始化完成后,直接调用页面跳转方法传入目标URL即可完成访问。
核心参考代码
import io.github.bonigarcia.wdm.WebDriverManager;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.io.File;
import java.io.FileInputStream;

public class DynamicBrowserTest {
    public static void main(String[] args) throws Exception {
        // 从Excel读取配置,示例为xlsx格式文件,浏览器名存在配置页第2行第1列
        FileInputStream excelStream = new FileInputStream(new File("test-case-config.xlsx"));
        Workbook workbook = new XSSFWorkbook(excelStream);
        Sheet configSheet = workbook.getSheet("runtime-config");
        String browserType = configSheet.getRow(1).getCell(0).getStringCellValue().trim().toLowerCase();
        String targetUrl = configSheet.getRow(1).getCell(1).getStringCellValue().trim();
        workbook.close();
        excelStream.close();

        // 根据读取到的浏览器类型动态初始化驱动
        WebDriver driver;
        switch (browserType) {
            case "chrome":
                WebDriverManager.chromedriver().setup();
                driver = new ChromeDriver();
                break;
            case "firefox":
                WebDriverManager.firefoxdriver().setup();
                driver = new FirefoxDriver();
                break;
            case "edge":
                WebDriverManager.edgedriver().setup();
                driver = new EdgeDriver();
                break;
            default:
                throw new RuntimeException("Excel中配置的浏览器类型不支持:" + browserType);
        }

        // 访问目标地址
        driver.get(targetUrl);
        
        // 后续测试逻辑自行补充
    }
}
注意事项

建议在读取到Excel中的浏览器参数后增加合法值校验,提前拦截拼写错误、空值这类异常,避免程序运行到驱动初始化阶段才报错。如果需要支持更多浏览器,只需要在分支判断中补充对应浏览器的WebDriverManager初始化逻辑即可,不需要修改配置文件。

内容的提问来源于stack exchange,提问作者Sureshsekar789

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 21:33:28