当前位置: 首页 > 知识库问答 >
问题:

使用jmeter在selenium中执行java脚本时方法调用错误

辛承志
2023-03-14

当我尝试在selenium代码中执行java脚本时,我得到了以下错误。

错误:响应消息:javax.script.scriptException:源文件:内联计算:导入org.openqa.selenium.by;导入org.openqa.selenium.WebDriver;导入组织。...'':类型化变量声明:方法调用中的错误:在类'org.openqa.selenium.htmlunit.htmlunitDriver'中找不到方法executeScript(java.lang.string):第47行:in file:inline evaluation of:import org.openqa.selenium.by;导入org.openqa.selenium.WebDriver;导入组织。...'':executor.Executescript(“document.getElementById('icon-2')[0].click()”)内联计算:``import org.openqa.selenium.by;导入org.openqa.selenium.WebDriver;导入组织。...“在第47行

响应标头:

public HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME,true);
JavascriptExecutor executor = (JavascriptExecutor)driver;
driver.get(appURL);
executor.executeScript("document.getElementById('icon-2')[0].click()");

共有1个答案

邹举
2023-03-14

Beanshell解释器似乎不支持varargs,因此您试图调用executeScript()方法,其第二个参数是java.lang.Object······args失败。

最简单的解决方案是切换到Groovy语言,如下所示:

  1. JMeter开发人员推荐使用
  2. Groovy支持所有现代JDK特性,并且有自己的语法优势
  3. Groovy的性能比Beanshell好得多
 类似资料:
  • 我已经在我的系统中安装了python、pip和selenium,我正在基本站点上测试一个示例代码。 代码: 如何解决此问题?

  • 问题内容: 我已经准备好具有功能流程的Selenium自动化脚本,现在我想将这些脚本与JMeter集成以进行负载测试。 那可能吗? 如果是这样,如何将两者融合? 我的首要目标是使用硒运行自动化脚本,而不是在jmeter中运行这些脚本以进行负载或性能测试。 问题答案: JUnit请求采样器 如果您想重用已经自动化的(Java)Selenium场景,而不是为WebDriver Sampler重写JS脚

  • 通过将selenium脚本导出到jar文件并放入%Jmeter_Home%/lib/junit文件夹,我已经将所有selenium脚本与Jmeter集成,但当我试图使用junit请求采样器在Jmeter中执行这些脚本时,它显示错误:

  • 我的问题是关于JMeter和BeanShell后处理程序。 我已经用Eclipse开发了一个Java项目,并将该项目导出到一个JAR中。我已经把这个jar放在JMeter的/lib/ext文件夹中。 我不明白为什么当我直接调用jar时它会工作,为什么当我用JMeter做同样的事情时它不会工作。 谢谢你的帮助。

  • 好心的,谁能帮助关于以下例外的根本原因。 test_automation.tc_invoice_printing.tc_input_fields_validation(tc_invoice_printing.java:37)在java.base/jdk.internal.reflect.nativeMethodAccessorImpl.Invoke0(本机方法)在java.base/jdk.int

  • 我正在尝试使用spring xd执行pig代码段,但不能这样做。我使用以下命令创建了一个作业 PigTest作业定义在spring xd模块/作业目录中定义如下 已成功创建作业,但部署失败。日志文件如下所示: null