是否可以使用RemoteWebDriver for SauceLabs禁用CORS检查

问题描述 投票:0回答:1

问题全部说明,我试图在SauceLabs上执行一些硒测试,该测试加载了发出跨域请求的网页。我当时在想有没有一种方法可以通过与代码无关的平台来禁用CORS。

java selenium automation cors saucelabs
1个回答
0
投票

虽然使用ChromeDriver / Chrome组合禁用检查,但可以使用--disable-web-security参数。

sameoriginpolicy

content_switches.cc中定义为:

// Don't enforce the same-origin policy. (Used by people testing their sites.)
const char kDisableWebSecurity[]            = "disable-web-security";

代码示例:

  • Windows:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--disable-web-security"); // don't enforce the same-origin policy
    options.addArguments("--disable-gpu"); // applicable to windows os only
    options.addArguments("--user-data-dir=~/chromeTemp"); // applicable to windows os only
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://google.com");
    
  • OSX:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--disable-web-security"); // don't enforce the same-origin policy
    options.addArguments("--user-data-dir=/tmp/chrome_dev_test");
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://google.com");
    
  • Linux

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--disable-web-security"); // don't enforce the same-origin policy
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://google.com");
    

Note:如果出于开发/测试目的需要访问本地文件(例如AJAX或JSON),则可以使用-–allow-file-access-from-files标志。

allowfileaccess


参考


Outro

您可以在以下位置找到几个相关的讨论:

© www.soinside.com 2019 - 2024. All rights reserved.