【问题标题】:IE driver browser not working using JSR223 sampler - jmeterIE 驱动程序浏览器无法使用 JSR223 采样器 - jmeter
【发布时间】:2020-10-08 00:56:59
【问题描述】:

我正在使用 JSR223 Sampler 来使用 IE 浏览器并在 UI 上运行一些验证。

代码:

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;
File file = new File("webdriver.ie.driver","C:\Program Files\Internet Explorer\IEDriverServe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());

WebDriver driver = new InternetExplorerDriver();

//System.setProperty("webdriver.ie.driver","C:\Users\Downloads\apache-jmeter-5.3\apache-jmeter-5.3\bin\IEDriverServer");
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, 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-08 11:43:08,472 INFO o.a.j.e.StandardJMeterEngine:所有线程组已启动 2020-10-08 11:43:08,472 信息 o.a.j.t.JMeterThread:线程开始:IE 1-1 2020-10-08 11:43:08,479 错误 o.a.j.p.j.s.JSR223Sampler:JSR223 脚本 iecONFIG 中的问题,消息:javax.script.ScriptException:org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败: Script23.groovy:8:意外输入:'"webdriver.ie.driver","'@ 第 8 行,第 44 列。 ew File("webdriver.ie.driver","C:\Progra ^

1 个错误

javax.script.ScriptException:org.codehaus.groovy.control.MultipleCompilationErrorsException:启动失败: Script23.groovy: 8: Unexpected input: '"webdriver.ie.driver","' @ line 8, column 44.

【问题讨论】:

    标签: performance selenium-webdriver jmeter-plugins jmeter-4.0


    【解决方案1】:

    您的脚本存在多个问题,即:

    1. File file = new File("webdriver.ie.driver","C:\Program Files\Internet Explorer\IEDriverServe"); 这个构造函数没有意义,请参阅File javadoc 了解可能的选项
    2. 您声明 WebDriver driver 两次,第二次出现您的脚本将失败
    3. 需要将.exe添加到IEDriverServer

    建议的代码更改:

    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;
    
    System.setProperty("webdriver.ie.driver", 'c:/full/path/to/IEDriverServer.exe');
    
    DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
    capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, 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();
    

    更多信息:Internet Explorer Driver

    不使用WebDriver SamplerInternetExplorer Driver Config 有什么具体原因吗?如果您对 Selenium 和 JMeter 不太熟悉,这将更加容易

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      相关资源
      最近更新 更多