Html 量角器:会话存储变量

Html 量角器:会话存储变量,html,angularjs,protractor,Html,Angularjs,Protractor,如何获取量角器中sessionStorage变量的值?我试过: browser.executeScript('sessionStorage.getItem("login");'); 但它返回null。在不使用浏览器的情况下使用sessionStorage.getItem()。executeScript()会返回未定义的sessionStorage。尝试browser.driver.executeScript而不是browser.executeScript i、 e 还要手动确认您的javasc

如何获取量角器中sessionStorage变量的值?我试过:

browser.executeScript('sessionStorage.getItem("login");');

但它返回null。在不使用浏览器的情况下使用sessionStorage.getItem()。executeScript()会返回未定义的sessionStorage。

尝试
browser.driver.executeScript
而不是
browser.executeScript

i、 e

还要手动确认您的javascript表达式
sessionStorage.getItem(“登录”)通过使用

根据您的应用程序以及您为达到目的而执行的步骤,它可能会过早地请求会话存储项。如果
browser.driver.executeScript
无法解决您的问题,请尝试添加
browser.sleep(4000)
executeScript
之前,查看这是否是一个计时问题

注意
executeScript
因此,除非您将其包装在
expect
中,否则您可能需要:

browser.sleep(2000);
browser.driver.executeScript('sessionStorage.getItem("login");').then(function(retValue) {
    console.log(retValue);
});
我明白了

browser.executeScript("return window.sessionStorage.getItem('login');");

这是不对的。应该是

browser.driver.executeScript('return window.sessionStorage.getItem(“login”);')。然后(函数(retVal){
控制台日志(retVal);

});我已经使用浏览器开发人员工具来确保变量可用,并且它是可用的。我也试过你的例子,但我仍然得到一个空值。我也在与这个要求作斗争。如果你找到了解决方案,请告诉我。。。
browser.executeScript("return window.sessionStorage.getItem('login');");