groovy 如何使用Jmeter从浏览器捕获本地存储?

sr4lhrrt  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(57)

有URL。每次我启动URL时,浏览器都会动态生成一个新的键和值。存储在本地存储器中。此外,当这个网址启动它重定向到一个认证页面。此时,键和值都消失了。实际上,这个键和值只被删除了不到2秒。
我想在它消失之前捕获那个键和值。我也在使用jp@gc webdriver。我在Chrome中启动它。

我无法从本地存储中检索键和值。

这是我的Groovy脚本。enter image description here
这是我从查看结果树的回应。enter image description here

yhxst69z

yhxst69z1#

1.首先,将代码作为图像发布是对社区的不尊重,please don't
1.下面是从本地存储名称和值中获取第一个键的代码:

WDS.sampleResult.sampleStart()
WDS.browser.get('https://stackoverflow.com')
def allKeys = WDS.browser.executeScript('return Object.keys(window.localStorage);')
WDS.vars.put('localStorageKey', allKeys[0])
WDS.vars.put('localStorageValue', WDS.browser.executeScript('return window.localStorage.getItem(window.localStorage.key(0));'))
WDS.sampleResult.sampleEnd()

并演示它的工作原理:

如果它在您的特定情况下不起作用,您应该联系您的应用程序开发人员,按照Local Storage description
窗口接口的localStorage只读属性允许您访问Document源的Storage对象;存储的数据在浏览器会话中保存
因此,即使您关闭浏览器并再次打开它,该值也应该存在,并且不应该“仅在不到2秒的时间内被删除”。
如果该值只剩下2秒,您可以使用即。显式等待从DOM(或本地存储)获取其值,类似于:

def wait = new org.openqa.selenium.support.ui.WebDriverWait(WDS.browser, java.time.Duration.ofSeconds(5))
def targetKey = wait.until (webdriver -> webdriver.executeScript('return window.localStorage.key(0);'))

有关JMeter中Groovy脚本的更多信息:Apache Groovy: What Is Groovy Used For?

相关问题