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

如何在Java+TestNG中设置ChromeDriver的Insecure origins treated as secure

解决ChromeDriver中"Insecure origins treated as secure"的Java配置问题

首先明确:Chrome设置里的"Insecure origins treated as secure"对应的实际命令行参数是--unsafely-treat-insecure-origin-as-secure。你之前尝试的IDE命令行参数无效,是因为那是传给JVM的,而非Chrome进程的启动参数,必须通过ChromeOptions来配置。

以下是Java+TestNG环境下的具体实现代码:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class GpsLocationTest {
    private WebDriver driver;

    @BeforeTest
    public void setup() {
        // 初始化ChromeOptions对象
        ChromeOptions options = new ChromeOptions();
        
        // 添加目标不安全源到信任列表,替换成你的测试网站URL
        String targetUrl = "http://your-test-site.com";
        options.addArguments("--unsafely-treat-insecure-origin-as-secure=" + targetUrl);
        
        // 允许地理位置权限(GPS定位必须依赖这个权限)
        options.addArguments("--geolocation");
        // 可选:模拟固定定位(替换成需要的经纬度)
        // options.addArguments("--use-fake-location");
        // options.addArguments("--fake-geolocation-latitude=39.9042");
        // options.addArguments("--fake-geolocation-longitude=116.4074");

        // 用配置好的Options启动ChromeDriver
        driver = new ChromeDriver(options);
    }

    @Test
    public void testGpsLocation() {
        driver.get("http://your-test-site.com");
        // 这里添加你的GPS定位功能测试逻辑
    }

    @AfterTest
    public void teardown() {
        if (driver != null) {
            driver.quit();
        }
    }
}

关键注意点:

  • 参数必须和目标URL用=连接,不能拆分添加
  • 仅当测试网站为HTTP协议时需要此配置,Chrome默认限制非HTTPS源调用定位API
  • 若需要跳过手动授权定位,可以启用注释里的假位置参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:05:23