Javascript JMeter脚本路径丢失"\&引用;那么不工作了?
我试图使用这里发布的beanshell脚本来获取在我的jmeter测试中运行的jmx的路径- 它正在工作,如果我在beanshell设置时记录路径的输出,或者使用调试器查看变量,我将获得脚本的路径,并按预期显示-Javascript JMeter脚本路径丢失"\&引用;那么不工作了?,javascript,jmeter,beanshell,Javascript,Jmeter,Beanshell,我试图使用这里发布的beanshell脚本来获取在我的jmeter测试中运行的jmx的路径- 它正在工作,如果我在beanshell设置时记录路径的输出,或者使用调试器查看变量,我将获得脚本的路径,并按预期显示- c:\my\path\to\script 但是,当我尝试将该变量传递到sendKeys时,斜杠“\”被删除了- c:mypathtoscript 这不起作用,因此我无法附加/上载我的文件 我肯定错过了一些愚蠢的事情 感谢使用vars.put将JMeter UDV值放入Javascr
c:\my\path\to\script
但是,当我尝试将该变量传递到sendKeys时,斜杠“\”被删除了-
c:mypathtoscript
这不起作用,因此我无法附加/上载我的文件
我肯定错过了一些愚蠢的事情
感谢使用vars.put将JMeter UDV值放入Javascript变量中,然后使用Javascript连接将其链接在一起。在不使用Beanshell的情况下,至少有两种方法可以完成此操作:
someElement.sendKeys(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir())
WDS.sampleResult.sampleStart()
WDS.browser.get('http://ya.ru')
var searchInput = WDS.browser.findElement(org.openqa.selenium.By.id('text'))
//directly access function from JavaScript
searchInput.sendKeys(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir())
//alternative way - getting the value from JMeter Variables
var vars = org.apache.jmeter.threads.JMeterContextService.getContext().getVariables()
searchInput.sendKeys(vars.get('homepath'))
WDS.sampleResult.sampleEnd()
有关从WebDriver Sampler访问JMeter API类的全面信息,以及其他一些提示和技巧:尝试避开反斜杠。嗨,Kevin,我该怎么做?路径是由链接中发布的beanshell脚本生成的…我不知道您将如何逃避生成的路径,但是,如果可以在传递给sendKeys变量之前对其进行修改,请使用双反斜杠转义反斜杠或正斜杠。请共享BeanShell代码以及传递JMeter绝对路径值的方式。我有一个名为“homepath”的UDV,其值为“${\uu BeanShell”(import org.apache.jmeter.services.FileServer;FileServer.getFileServer().getBaseDir();)}${{uuu BeanShell(File.separator,)}”,我使用${homepath}调用变量,debug用一个反斜杠显示,当webdriver运行时,这些反斜杠将被删除..您将执行两次相同的操作:操作文件。但最初的问题是如何操作字符串,以便不要松开反斜杠。
WDS.sampleResult.sampleStart()
WDS.browser.get('http://ya.ru')
var searchInput = WDS.browser.findElement(org.openqa.selenium.By.id('text'))
//directly access function from JavaScript
searchInput.sendKeys(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir())
//alternative way - getting the value from JMeter Variables
var vars = org.apache.jmeter.threads.JMeterContextService.getContext().getVariables()
searchInput.sendKeys(vars.get('homepath'))
WDS.sampleResult.sampleEnd()