问题描述
尝试通过IE通过使用功能(capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true)来消除ssl证书来运行以下代码。
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?
解决方法
我看不到您在import类中声明CapabilityType的位置,您要么需要添加下一行:
length
到脚本的开头
或替换
<div>{data.length.bind.toString}</div>
使用
import org.openqa.selenium.remote.CapabilityType
而且我认为您将无法以无头模式运行Internet Explorer,唯一的选择是将JMeter作为系统服务运行,这样浏览器就不会在您的桌面上显示,请参见Headless Execution of Selenium Tests in Jenkins文章以获取更多信息(如果需要)