【问题标题】:Not able to ignore ssl certificate using capability (CapabilityType.ACCEPT_SSL_CERTS)无法使用功能忽略 ssl 证书 (CapabilityType.ACCEPT_SSL_CERTS)
【发布时间】:2020-10-10 22:57:16
【问题描述】:

尝试通过 IE 使用能力 (capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true) 禁用 ssl ccertificate 来运行以下代码。

 import org.openqa.selenium.WebDriver;

    import org.openqa.selenium.ie.InternetExplorerDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.openqa.selenium.By;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;
    import org.apache.jmeter.samplers.SampleResult;
    
io.github.bonigarcia.wdm.WebDriverManager.iedriver().setup()
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true); 
capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
WebDriver driver = new InternetExplorerDriver(capabilities)
    def wait = new WebDriverWait(driver, 20);
    driver.get('https://google.com/');
    WDS.sampleResult.sampleStart();
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//input[@name='q']")));
    WDS.sampleResult.sampleEnd();

最终得到以下错误。

2020-10-11 09:43:21,585 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script iecONFIG, message: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: CapabilityType for class: Script63
javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: CapabilityType for class: Script63

有谁知道如何处理 SSL 证书?并以无头模式运行 IE?

【问题讨论】:

  • 1. CapabilityType.ACCEPT_SSL_CERTS 不适用于 IE。我们不能忽略使用此功能的 ssl 证书。作为一种解决方法,我们可以单击链接“继续访问此网站(不推荐)”。绕过它:driver.navigate().to("javascript:document.getElementById('overridelink').click()");。 2. IE 不支持无头模式,所以我们不能在无头模式下运行它。也可以参考this link

标签: selenium-webdriver internet-explorer jmeter ssl-certificate jsr223


【解决方案1】:

我看不到你在哪里为CapabilityType 类声明import,你要么需要添加下一行:

import org.openqa.selenium.remote.CapabilityType

到脚本的开头

或替换

capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true)

capabilities.setCapability(org.openqa.selenium.remote.CapabilityType.ACCEPT_SSL_CERTS, true)

而且我认为您无法在无头模式下运行 Internet Explorer,唯一的选择是将 JMeter 作为系统服务运行,这样浏览器就不会显示在您的桌面上,请参阅 Headless Execution of Selenium Tests in Jenkins 文章如果需要,请提供更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 2019-01-16
    相关资源
    最近更新 更多