我正在尝试使用此处发布的beanshell脚本来获取在我的jmeter测试中运行的jmx的路径 - Access to JMeter script path
它正在工作,如果我在由beanshell设置时记录路径的输出或使用调试器查看变量,我会按照预期显示脚本的路径 -
c:\my\path\to\script
但是当我尝试将该变量传递给sendKeys时,斜杠“\”将被删除,所以 -
c:mypathtoscript
这不起作用,所以我无法附加/上传我的文件..
当然我错过了一些愚蠢的事情
由于
答案 0 :(得分:0)
用户vars.put需要将JMeter UDV值放入Javascript变量中,然后使用javascript concatenate将它们全部链接在一起。
答案 1 :(得分:0)
如果不使用Beanshell,至少有两种方法可以完成此任务:
从WebDriver Sampler调用FileServer方法:
someElement.sendKeys(org.apache.jmeter.services.FileServer.getFileServer().getBaseDir())
var vars = org.apache.jmeter.threads.JMeterContextService.getContext().getVariables()
someElement.sendKeys(vars.get('homepath'))
示例完整代码:
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类的全面信息以及更多提示和技巧:The WebDriver Sampler: Your Top 10 Questions Answered