下面是我的代码。当我从代码中删除等待命令时,它运行良好,但当我在下面的代码中添加等待时,它开始显示错误,如:javax.script.ScriptException:类型错误:null在jdk.nashorn.api.脚本中的第13行没有这样的函数“可见性元素位置”。jdk.nashorn.API.脚本中的nashornScriptEngine.throwAsScriptException(nashornScriptEngine. java:470)。jdk.nashorn.api.脚本中的nashornScriptEngine.evalImpl(nashornScriptEngine. java:454)。jdk. nashorn.api.脚本中的nashornScriptEngine. evalImpl(nashornScriptEngine. java:406)。jdk. nashorn. api.脚本中的nashornScriptEngine.evalImpl(nashornScriptEngine. java:402)。javax.脚本中的nashornScriptEngine.eval(nashornScript. java:155)。抽象脚本引擎.eval未知(源代码)
代码- WDS.样品结果.样品开始()变量搜索1 = WDS.args[0]变量包= Java导入程序(org.openqa.selenium)//导入Java selenium 包import java selenium package
变量支持_ui=JavaImporter(组织.openqa. selenium 元素.支持.ui.网络驱动程序等待)import webdriver
变量ui= Java导入程序(org.openqa.selenium.support.ui)变量等待=新的支持用户界面. Web驱动程序等待(WDS浏览器,java.时间.持续时间.秒(120))变量时间单位= java.实用程序.并发.时间单位WDS.浏览器.查找元素(org.openqa.selenium.通过.xpath(“//输入[@占位符='搜索']”)).清除()WDS.浏览器.查找元素(org.openqa.selenium.通过.xpath(“//输入[@占位符='搜索']”)).发送密钥(搜索1)WDS.浏览器.查找元素(org.openqa.selenium.通过.xpath(“//td/img[@id ='搜索']”)).点击()等待.直到(pkg.预期条件.元素可见性定位(组织.开放qa. selenium .通过.xpath(“//td[文本()=”224“和@类=”SwsCount“]”)))This wait command is not working
WDS.样本结果.样本结束()
我希望在webdriver采样器中使用显式等待。我使用的是apache-jmeter 5.5版本
1条答案
按热度按时间xtfmy6hx1#
您的代码不可读,因此我们无法提供一个全面的答案。
此错误:
null没有这样的函数“visibilityOfElementLocated”
意味着(最有可能)您的
pgk.ExpectedConditions
是null
,因此我建议您重新访问代码并检查定义此pkg
变量的位置。显示如何在WebDriver Sampler中使用显式等待和JavaScript的简单代码示例:
还要注意的是,您的方法不像Nashorn engine has been removed from JDK 15那样经得起未来考验,因此您将无法在较新版本的Java中使用
javascript
。最好考虑迁移到Groovy language,而且这是自JMeter 3.1以来推荐的脚本选项