【问题标题】:How to inject javascript code in jmeter WebDriver sample?如何在 jmeter WebDriver 示例中注入 javascript 代码?
【发布时间】:2021-05-24 08:33:04
【问题描述】:

我在 java 中使用 Webdriver 示例和 selenium 来交互网页的元素。我需要在 java 的 webdriver 示例中执行对 javascript 函数的调用。 他们要求我使用以下 javascript 函数来识别用户:

dtrum.identifyUser(tagValue)

根据这里写的: https://www.dynatrace.com/news/blog/accelerating-functional-test-automation-analysis-with-selenium-and-dynatrace/

所以我试图通过导入库来执行该函数的调用:

导入 org.openqa.selenium.JavascriptExecutor;

然后调用: WDS.browser.executeScript("dtrum.identifyUser('user')");

但我明白了:

方法调用出错:在类'org.openqa.selenium.chrome.ChromeDriver'中找不到方法executeScript(java.lang.String)

我也尝试过: ((JavascriptExecutor) webdriver).executeScript("dtrum.identifyUser('user')");

但我明白了:

目标异常:java.lang.ClassCastException:无法将 void 值转换为 org.openqa.selenium.JavascriptExecutor

因为我真的很陌生,我做错了什么?我该怎么做?

【问题讨论】:

    标签: java selenium-webdriver jmeter jmeter-plugins dynatrace


    【解决方案1】:

    我在 java 中使用 Webdriver 示例和 selenium

    WebDriver Sampler 中没有“java”。

    如果你的意思是这个java

    它不是 Java,它是 Beanshell 解释器,它不是 100% 与 Java 兼容的。

    我建议切换到groovy,因为:

    因此,您将能够调用您的 WDS.browser.executeScript("dtrum.identifyUser('user')"); 函数,而无需更改代码中的任何内容。

    【讨论】:

    • 非常感谢您的回复。正如您所说,我已经将脚本语言从 java 更改为 groovy,但是当我运行时出现错误: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: user for class: Script2 我有什么修复?
    猜你喜欢
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多