如何在量角器中获取sessionStorage变量的值?我试过了:
browser.executeScript('sessionStorage.getItem("login");');
但返回 null 。使用不带browser.executeScript()的sessionStorage.getItem()会为sessionStorage返回一个未定义的内容。
答案 0 :(得分:7)
想通了。
browser.executeScript("return window.sessionStorage.getItem('login');");
答案 1 :(得分:4)
尝试使用browser.driver.executeScript
代替browser.executeScript
即
browser.driver.executeScript('sessionStorage.getItem("login");');
使用browser developer tools手动确认您的javascript表达式sessionStorage.getItem("login");
正常工作。
根据您的应用以及您为实现目标所采取的步骤,可能会过早请求会话存储项目。如果browser.driver.executeScript
无法解决您的问题,请尝试在browser.sleep(4000);
之前添加executeScript
,以确定这是否是时间问题。
注意executeScript
returns a webdriver promise所以除非你将其包裹在expect
中,否则你可能需要这样:
browser.sleep(2000);
browser.driver.executeScript('sessionStorage.getItem("login");').then(function(retValue) {
console.log(retValue);
});
答案 2 :(得分:1)
这不太对。它应该是......
browser.driver.executeScript('return window.sessionStorage.getItem("login");').then(function (retVal) {
console.log(retVal);
});