是否有一种使用空手道DSL来获取sessionStorage的方法?

问题描述 投票:1回答:2

我目前需要获取保存在sessionStorage密钥下的身份验证令牌,并将其用于其他API调用。我正在使用Karate UI自动化来访问浏览器并转到页面,但无法访问sessionStorage。我还考虑过使用一些JS来获取它,但是我不确定是否可以使用。有人有什么想法吗?

javascript java karate session-storage
2个回答
0
投票

我假设您有一个API调用可以登录并获取sessionStorage密钥?您可以创建一个功能文件,该文件发送详细信息以登录,然后记录您从响应中获取的sessionStorage密钥。

例如背景:

* def userData = read('classpath:userData.json')

Scenario: Login user and get session token for subsequent tests
Given baseUrl 'www.yoursite.com/LoginRequest'
And request userData
When method POST
Then status 200
And def r = response
* def token = r.Key1
* header Authorization = token

然后,任何时候您需要获取sessionStorage密钥时,都可以调用该功能文件。


0
投票

使用script()应该很容易。我只是在测试中尝试了这2条语句,但效果很好:

* script("sessionStorage.setItem('foo', 'bar')")
* match script("sessionStorage.getItem('foo')") == 'bar'

我使用的是0.9.5.RC5版本,文档在这里:https://github.com/intuit/karate/tree/develop/karate-core#script

© www.soinside.com 2019 - 2024. All rights reserved.